! function(e) {
    function t(t) {
        for (var r, i, s = t[0], c = t[1], u = t[2], p = 0, f = []; p < s.length; p++) i = s[p], o[i] && f.push(o[i][0]), o[i] = 0;
        for (r in c) Object.prototype.hasOwnProperty.call(c, r) && (e[r] = c[r]);
        for (l && l(t); f.length;) f.shift()();
        return a.push.apply(a, u || []), n()
    }

    function n() {
        for (var e, t = 0; t < a.length; t++) {
            for (var n = a[t], r = !0, s = 1; s < n.length; s++) {
                var c = n[s];
                0 !== o[c] && (r = !1)
            }
            r && (a.splice(t--, 1), e = i(i.s = n[0]))
        }
        return e
    }
    var r = {},
        o = {
            0: 0
        },
        a = [];

    function i(t) {
        if (r[t]) return r[t].exports;
        var n = r[t] = {
            i: t,
            l: !1,
            exports: {}
        };
        return e[t].call(n.exports, n, n.exports, i), n.l = !0, n.exports
    }
    i.m = e, i.c = r, i.d = function(e, t, n) {
        i.o(e, t) || Object.defineProperty(e, t, {
            enumerable: !0,
            get: n
        })
    }, i.r = function(e) {
        "undefined" !== typeof Symbol && Symbol.toStringTag && Object.defineProperty(e, Symbol.toStringTag, {
            value: "Module"
        }), Object.defineProperty(e, "__esModule", {
            value: !0
        })
    }, i.t = function(e, t) {
        if (1 & t && (e = i(e)), 8 & t) return e;
        if (4 & t && "object" === typeof e && e && e.__esModule) return e;
        var n = Object.create(null);
        if (i.r(n), Object.defineProperty(n, "default", {
                enumerable: !0,
                value: e
            }), 2 & t && "string" != typeof e)
            for (var r in e) i.d(n, r, function(t) {
                return e[t]
            }.bind(null, r));
        return n
    }, i.n = function(e) {
        var t = e && e.__esModule ? function() {
            return e.default
        } : function() {
            return e
        };
        return i.d(t, "a", t), t
    }, i.o = function(e, t) {
        return Object.prototype.hasOwnProperty.call(e, t)
    }, i.p = "/static/";
    var s = ("undefined" !== typeof self ? self : this).webpackJsonp = ("undefined" !== typeof self ? self : this).webpackJsonp || [],
        c = s.push.bind(s);
    s.push = t, s = s.slice();
    for (var u = 0; u < s.length; u++) t(s[u]);
    var l = c;
    a.push([0, 4]), n()
}({
    "./app/css/RegexApp.css": function(e, t, n) {},
    "./app/css/reset.css": function(e, t, n) {},
    "./app/font/font.css": function(e, t, n) {},
    "./app/js/actionCreator/actionCreators.js": function(e, t, n) {
        "use strict";
        var r = n("./app/js/actionCreator/actionTypes.js");
        var o = function(e) {
            return {
                type: r.I,
                value: e
            }
        };
        var a = function() {
            return {
                type: r.i
            }
        };
        var i = function() {
            return {
                type: r.V
            }
        };
        var s = function(e) {
                return {
                    type: r.U,
                    value: e
                }
            },
            c = n("./node_modules/can-use-dom/index.js"),
            u = n.n(c),
            l = n("./app/js/constants/Languages.js"),
            p = n("./app/js/utils/t.js"),
            f = function(e) {
                var t = !(arguments.length > 1 && void 0 !== arguments[1]) || arguments[1];
                if (u.a) {
                    var r = l[e] || l.ENGLISH;
                    return function() {
                        return fetch("/static/translations/".concat(r.file)).then(function(e) {
                            return e.json()
                        }).then(p.b).then(function() {
                            t && n("./app/main.js").reRenderApp()
                        })
                    }
                }
            };
        var y = function(e) {
            return {
                type: r.W,
                value: {
                    subsection: e
                }
            }
        };
        var b = function(e) {
            return {
                type: r.k,
                value: e
            }
        };
        var h = function(e) {
            return {
                type: r.H,
                value: e
            }
        };
        var d = function(e) {
            return {
                type: r.a,
                value: e
            }
        };
        var m = function(e) {
            return {
                type: r.c,
                value: e
            }
        };
        var g = function(e, t) {
            return {
                type: r.T,
                value: {
                    index: e,
                    test: t
                }
            }
        };
        var v = function() {
            return {
                type: r.b
            }
        };
        var _ = function(e, t) {
            return {
                type: r.d,
                value: {
                    index: e,
                    test: t
                }
            }
        };
        var O = function(e, t) {
            return {
                type: r.h,
                value: {
                    oldIndex: e,
                    newIndex: t
                }
            }
        };
        var j = function(e, t, n, o) {
            return {
                type: r.M,
                value: {
                    index: e,
                    error: t,
                    steps: n,
                    time: o
                }
            }
        };
        var w = function() {
            return {
                type: r.S
            }
        };
        var k = function() {
                return {
                    type: r.f
                }
            },
            E = n("./app/js/utils/Raven.js");
        var S = function(e) {
                return E.a.setExtraContext({
                    regex: e
                }), {
                    type: r.y,
                    value: e
                }
            },
            x = n("./app/js/constants/MatchErrors.js"),
            C = n("./app/js/utils/log.js"),
            P = n("./app/js/utils/events.js");
        var T = function(e) {
            return e && e !== x.a && e !== x.g && e !== x.c && e !== x.b && (P.a.emit("flush:state"), C.a.error(new Error("Unhandled error while matching regex. Code: " + e))), {
                type: r.A,
                value: e
            }
        };
        var R = function(e) {
            return E.a.setExtraContext({
                testString: e
            }), {
                type: r.K,
                value: e
            }
        };
        var N = function(e) {
                return E.a.setExtraContext({
                    flavor: e
                }), {
                    type: r.C,
                    value: e
                }
            },
            M = n("./app/js/actionCreator/actions/RegexEditor/setRegexFlags.js");
        var A = function(e) {
                return E.a.setExtraContext({
                    delimiter: e
                }), {
                    type: r.z,
                    value: e
                }
            },
            I = function(e) {
                return {
                    type: r.D,
                    value: e
                }
            };
        var L = function(e) {
                return E.a.setExtraContext({
                    substString: e
                }), {
                    type: r.J,
                    value: e
                }
            },
            D = function(e, t) {
                return function(n, r) {
                    if (!e) return Promise.resolve();
                    var o = r().general.cookie;
                    return fetch("http://localhost:4001/api/regex/".concat(e, "/").concat(t), {
                        method: "GET",
                        credentials: "same-origin",
                        headers: {
                            Accept: "application/json",
                            "Content-Type": "application/json",
                            cookie: o
                        }
                    }).then(function(e) {
                        return e.json()
                    }).then(function(r) {
                        var o = r.regex,
                            a = r.testString,
                            i = void 0 === a ? "" : a,
                            s = r.flavor,
                            c = r.delimiter,
                            u = r.flags,
                            l = r.substitution,
                            p = void 0 === l ? "" : l,
                            f = r.unitTests,
                            y = r.isFavorite,
                            b = r.isLibraryEntry,
                            h = r.title,
                            m = r.libraryTitle,
                            g = r.libraryDescription,
                            v = r.libraryAuthor;
                        n(S(o)), n(R(i)), n(N(s)), n(A(c)), n(M.a("", u, s)), null != p && (n(F()), n(L(p))), f.forEach(function(e) {
                            return n(d(e))
                        }), n(ve(m, g, v)), n(B(e, t, null, b, h)), n(Y(y))
                    })
                }
            },
            q = function(e) {
                return function(t) {
                    return fetch("/api/regex/" + e, {
                        method: "GET",
                        credentials: "same-origin"
                    }).then(function(e) {
                        return e.json()
                    }).then(function(e) {
                        var n = e.versions;
                        return t(function(e) {
                            return {
                                type: r.G,
                                value: e
                            }
                        }(n))
                    })
                }
            };
        var F = function() {
            return {
                type: r.Q
            }
        };
        var z = function() {
            return {
                type: r.R
            }
        };
        var G = function() {
            return {
                type: r.P
            }
        };
        var B = function(e, t, n, o, a) {
                return t = parseInt(t, 10) || null, {
                    type: r.t,
                    value: {
                        permalinkFragment: e,
                        version: t,
                        deleteCode: n,
                        isLibraryEntry: o,
                        title: a
                    }
                }
            },
            U = n("./node_modules/lodash/lodash.js"),
            H = n.n(U),
            W = n("./app/js/utils/urlHelpers.js");

        function V(e, t) {
            var n = arguments.length > 2 && void 0 !== arguments[2] && arguments[2];
            return function(r, o) {
                P.a.emit("flush:state");
                var a = o(),
                    i = a.unitTests.tests.map(function(e) {
                        return {
                            criteria: e.criteria,
                            description: e.description,
                            target: e.target,
                            testString: e.testString,
                            compareString: e.compareString
                        }
                    }),
                    s = H.a.extend(H.a.pick(a.regexEditor, ["regex", "testString", "flags", "delimiter", "flavor"]), {
                        unitTests: i
                    });
                n || (s.permalinkFragment = a.general.permalinkFragment);
                var c = a.regexEditor,
                    u = c.showSubstitutionArea,
                    l = c.substString;
                return u && H.a.extend(s, {
                    substitution: l || ""
                }), fetch("/api/regex/" + (n ? "fork" : ""), {
                    method: "POST",
                    credentials: "same-origin",
                    headers: {
                        Accept: "application/json",
                        "Content-Type": "application/json"
                    },
                    body: JSON.stringify(s)
                }).then(function(e) {
                    return e.json()
                }).then(function(n) {
                    var o = n.permalinkFragment,
                        a = n.version,
                        i = n.isLibraryEntry,
                        c = n.deleteCode;
                    s.permalinkFragment && !c && (c = void 0), r(B(o, a, c, i, "")), e({
                        pathname: Object(W.a)(o, a, t.pathname)
                    }), E.a.setUserContext({
                        permalinkFragment: o,
                        version: a
                    })
                })
            }
        }

        function K(e, t) {
            return V(e, t)
        }

        function $(e, t) {
            return V(e, t, !0)
        }
        var Y = function(e) {
            return {
                type: r.e,
                value: e
            }
        };
        var J = function(e) {
            return {
                type: r.n,
                value: e
            }
        };
        var Q = function(e) {
                return {
                    type: r.o,
                    value: e
                }
            },
            X = n("./node_modules/query-string/index.js"),
            Z = n.n(X),
            ee = n("./app/js/constants/UserHistoryScope.js"),
            te = n.n(ee);

        function ne(e) {
            for (var t = 1; t < arguments.length; t++) {
                var n = null != arguments[t] ? arguments[t] : {},
                    r = Object.keys(n);
                "function" === typeof Object.getOwnPropertySymbols && (r = r.concat(Object.getOwnPropertySymbols(n).filter(function(e) {
                    return Object.getOwnPropertyDescriptor(n, e).enumerable
                }))), r.forEach(function(t) {
                    re(e, t, n[t])
                })
            }
            return e
        }

        function re(e, t, n) {
            return t in e ? Object.defineProperty(e, t, {
                value: n,
                enumerable: !0,
                configurable: !0,
                writable: !0
            }) : e[t] = n, e
        }
        var oe = function(e) {
                var t = arguments.length > 1 && void 0 !== arguments[1] && arguments[1];
                return {
                    type: r.O,
                    value: ne({}, e, {
                        staleData: t
                    })
                }
            },
            ae = function() {
                var e = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : te.a.ALL,
                    t = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : 1,
                    n = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : [];
                return function(r, o) {
                    var a = o().general.cookie;
                    return fetch("/api/user/history/".concat(e, "/").concat(t, "/?").concat(Z.a.stringify({
                        filterTags: n
                    })), {
                        method: "GET",
                        credentials: "same-origin",
                        headers: {
                            cookie: a
                        }
                    }).then(function(e) {
                        return e.json()
                    }).then(function(e) {
                        return r(oe(e))
                    })
                }
            };
        var ie = function(e, t) {
                return {
                    type: r.j,
                    value: {
                        itemIndex: e,
                        isFavorite: t
                    }
                }
            },
            se = function(e, t, n) {
                return function() {
                    return fetch("/api/user/favorite/".concat(e, "/").concat(t), {
                        method: "PUT",
                        credentials: "same-origin",
                        headers: {
                            Accept: "application/json",
                            "Content-Type": "application/json"
                        },
                        body: JSON.stringify({
                            isFavorite: n
                        })
                    })
                }
            },
            ce = function(e, t) {
                return function() {
                    return fetch("/api/user/history/".concat(e, "/private"), {
                        method: "PUT",
                        credentials: "same-origin",
                        headers: {
                            Accept: "application/json",
                            "Content-Type": "application/json"
                        },
                        body: JSON.stringify({
                            isPrivate: t
                        })
                    })
                }
            },
            ue = function(e, t) {
                return function() {
                    return fetch("/api/user/history/".concat(e, "/lock"), {
                        method: "PUT",
                        credentials: "same-origin",
                        headers: {
                            Accept: "application/json",
                            "Content-Type": "application/json"
                        },
                        body: JSON.stringify({
                            isLocked: t
                        })
                    })
                }
            },
            le = n("./app/js/managers/DeleteCodeManager.js"),
            pe = function(e, t) {
                return function() {
                    return fetch("/api/regex", {
                        method: "DELETE",
                        credentials: "same-origin",
                        headers: {
                            Accept: "application/json",
                            "Content-Type": "application/json"
                        },
                        body: JSON.stringify({
                            deleteCode: t
                        })
                    }).then(function() {
                        return Object(le.c)(e)
                    })
                }
            };
        var fe = function(e, t, n, o) {
            var a = H.a.uniq(e);
            return function(i) {
                return fetch("/api/user/history/".concat(n, "/").concat(o, "/tags"), {
                    method: "PUT",
                    credentials: "same-origin",
                    headers: {
                        Accept: "application/json",
                        "Content-Type": "application/json"
                    },
                    body: JSON.stringify({
                        tags: a
                    })
                }).then(function() {
                    null != t && i(function(e, t) {
                        return {
                            type: r.E,
                            value: {
                                tags: e,
                                itemIndex: t
                            }
                        }
                    }(e, t))
                })
            }
        };
        var ye = function(e, t, n, o) {
                return function(a) {
                    return fetch("/api/user/history/".concat(n, "/").concat(o, "/title"), {
                        method: "PUT",
                        credentials: "same-origin",
                        headers: {
                            Accept: "application/json",
                            "Content-Type": "application/json"
                        },
                        body: JSON.stringify({
                            title: e
                        })
                    }).then(function() {
                        null != t && a(function(e, t) {
                            return {
                                type: r.F,
                                value: {
                                    title: e,
                                    itemIndex: t
                                }
                            }
                        }(e, t))
                    })
                }
            },
            be = n("./app/js/constants/LibraryOrder.js");
        var he = function(e) {
                var t = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : 0;
                return {
                    type: r.p,
                    value: {
                        libraryData: e,
                        pages: t
                    }
                }
            },
            de = function() {
                var e = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : 1,
                    t = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : "",
                    n = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : be.MOST_RECENT,
                    r = arguments.length > 3 && void 0 !== arguments[3] ? arguments[3] : [],
                    o = Z.a.stringify({
                        search: t,
                        orderBy: n,
                        filterFlavors: r
                    });
                return function(t) {
                    return fetch("/api/library/".concat(e, "/?").concat(o), {
                        method: "GET",
                        credentials: "same-origin"
                    }).then(function(e) {
                        return e.json()
                    }).then(function(e) {
                        return t(he(e.data, e.pages))
                    })
                }
            };
        var me = function(e) {
                return {
                    type: r.q,
                    value: e
                }
            },
            ge = function(e) {
                return function(t) {
                    return fetch("/api/library/details/".concat(e), {
                        method: "GET",
                        credentials: "same-origin"
                    }).then(function(e) {
                        return e.json()
                    }).then(function(e) {
                        return t(me(e))
                    })
                }
            };
        var ve = function(e, t, n) {
                return {
                    type: r.r,
                    value: {
                        title: e,
                        description: t,
                        author: n
                    }
                }
            },
            _e = function(e, t, n) {
                return function(r, o) {
                    P.a.emit("flush:state");
                    var a = o(),
                        i = a.unitTests.tests.map(function(e) {
                            return {
                                criteria: e.criteria,
                                description: e.description,
                                target: e.target,
                                testString: e.testString,
                                compareString: e.compareString
                            }
                        }),
                        s = a.regexEditor,
                        c = s.regex,
                        u = s.testString,
                        l = s.flags,
                        p = s.delimiter,
                        f = s.flavor,
                        y = s.showSubstitutionArea,
                        b = s.substString;
                    return fetch("/api/library/", {
                        method: "POST",
                        credentials: "same-origin",
                        headers: {
                            Accept: "application/json",
                            "Content-Type": "application/json"
                        },
                        body: JSON.stringify({
                            regex: c,
                            testString: u,
                            flags: l,
                            delimiter: p,
                            flavor: f,
                            unitTests: i,
                            author: n,
                            description: t,
                            title: e,
                            substitution: y ? b || "" : null
                        })
                    }).then(function(e) {
                        return e.json()
                    }).then(function(o) {
                        var a = o.permalinkFragment;
                        return r(ve(e, t, n)), a
                    })
                }
            };
        var Oe = function(e, t, n) {
                return function(o) {
                    return fetch("/api/library/".concat(e, "/vote"), {
                        method: "POST",
                        credentials: "same-origin",
                        headers: {
                            Accept: "application/json",
                            "Content-Type": "application/json"
                        },
                        body: JSON.stringify({
                            vote: t
                        })
                    }).then(function() {
                        return o(function(e, t) {
                            return {
                                type: r.Y,
                                value: {
                                    entryIdx: t,
                                    vote: e
                                }
                            }
                        }(t, n))
                    })
                }
            },
            je = function(e, t, n, r, o) {
                return function(a, i) {
                    P.a.emit("flush:state");
                    var s = i(),
                        c = s.regexEditor,
                        u = c.regex,
                        l = c.testString,
                        p = c.flags,
                        f = c.delimiter,
                        y = c.flavor,
                        b = c.showSubstitutionArea,
                        h = c.substString,
                        d = s.unitTests.tests.map(function(e) {
                            return {
                                criteria: e.criteria,
                                description: e.description,
                                target: e.target,
                                testString: e.testString,
                                compareString: e.compareString
                            }
                        });
                    return fetch("/api/library/", {
                        method: "PUT",
                        credentials: "same-origin",
                        headers: {
                            Accept: "application/json",
                            "Content-Type": "application/json"
                        },
                        body: JSON.stringify({
                            permalinkFragment: s.general.permalinkFragment,
                            regex: u,
                            testString: l,
                            flags: p,
                            delimiter: f,
                            flavor: y,
                            unitTests: d,
                            author: o,
                            description: r,
                            title: n,
                            substitution: b ? h || "" : null
                        })
                    }).then(function(e) {
                        return e.json()
                    }).then(function(i) {
                        var s = i.permalinkFragment,
                            c = i.version;
                        return a(ve(n, r, o)), a(Q(n)), a(B(s, c, null, !0)), e({
                            pathname: Object(W.a)(s, c, t.pathname)
                        }), E.a.setUserContext({
                            permalinkFragment: s,
                            version: c
                        }), null
                    })
                }
            },
            we = n("./app/js/utils/StorageInterface.js");

        function ke(e) {
            for (var t = 1; t < arguments.length; t++) {
                var n = null != arguments[t] ? arguments[t] : {},
                    r = Object.keys(n);
                "function" === typeof Object.getOwnPropertySymbols && (r = r.concat(Object.getOwnPropertySymbols(n).filter(function(e) {
                    return Object.getOwnPropertyDescriptor(n, e).enumerable
                }))), r.forEach(function(t) {
                    Ee(e, t, n[t])
                })
            }
            return e
        }

        function Ee(e, t, n) {
            return t in e ? Object.defineProperty(e, t, {
                value: n,
                enumerable: !0,
                configurable: !0,
                writable: !0
            }) : e[t] = n, e
        }
        var Se = function(e, t) {
                var n = ke({
                    firstSeen: new Date,
                    lastSeen: new Date,
                    allTimeCount: 0,
                    todayCount: 0
                }, e && e[t.bannerid] || {});
                n.allTimeCount++, n.todayCount++;
                var o = ke({}, e, Ee({}, t.bannerid, n));
                return we.a.save("regex101-sponsor", o), {
                    type: r.l,
                    value: t
                }
            },
            xe = function() {
                return function(e, t) {
                    var n = t().general.cookie;
                    return fetch("/api/quiz/tasks", {
                        method: "GET",
                        credentials: "same-origin",
                        headers: {
                            cookie: n
                        }
                    }).then(function(e) {
                        return e.json()
                    }).then(function(t) {
                        return e((n = t, {
                            type: r.v,
                            value: n
                        }));
                        var n
                    })
                }
            };
        var Ce = function(e, t) {
            return function(n) {
                return fetch("/api/quiz/verify/".concat(e), {
                    method: "POST",
                    credentials: "same-origin",
                    headers: {
                        Accept: "application/json",
                        "Content-Type": "application/json"
                    },
                    body: JSON.stringify(t)
                }).then(function(e) {
                    return e.json()
                }).then(function(t) {
                    t.errorMessage ? n(function(e, t) {
                        var n = t.errorMessage,
                            o = t.totalTests,
                            a = t.testNumber;
                        return {
                            type: r.x,
                            value: {
                                taskNumber: e,
                                errorMessage: n,
                                totalTests: o,
                                testNumber: a
                            }
                        }
                    }(e - 1, t)) : (n(function(e, t) {
                        var n = t.successMessage;
                        return {
                            type: r.w,
                            value: {
                                taskNumber: e,
                                successMessage: n
                            }
                        }
                    }(e - 1, t)), P.a.emit("quiz:taskFinish"))
                })
            }
        };

        function Pe(e) {
            for (var t = 1; t < arguments.length; t++) {
                var n = null != arguments[t] ? arguments[t] : {},
                    r = Object.keys(n);
                "function" === typeof Object.getOwnPropertySymbols && (r = r.concat(Object.getOwnPropertySymbols(n).filter(function(e) {
                    return Object.getOwnPropertyDescriptor(n, e).enumerable
                }))), r.forEach(function(t) {
                    Te(e, t, n[t])
                })
            }
            return e
        }

        function Te(e, t, n) {
            return t in e ? Object.defineProperty(e, t, {
                value: n,
                enumerable: !0,
                configurable: !0,
                writable: !0
            }) : e[t] = n, e
        }

        function Re(e, t) {
            return {
                type: r.X,
                value: Pe({
                    taskIdx: e
                }, t)
            }
        }

        function Ne(e) {
            return {
                type: r.s,
                value: e
            }
        }
        var Me = function(e, t) {
            return function(n, o) {
                var a = o().general.cookie;
                return fetch("/api/quiz/statistics/" + t, {
                    method: "GET",
                    credentials: "same-origin",
                    headers: {
                        cookie: a
                    }
                }).then(function(e) {
                    return e.json()
                }).then(function(t) {
                    return n(function(e, t) {
                        return {
                            type: r.u,
                            value: {
                                taskIdx: e,
                                stats: t
                            }
                        }
                    }(e, t))
                })
            }
        };
        n.d(t, "N", function() {
            return o
        }), n.d(t, "r", function() {
            return a
        }), n.d(t, !1, function() {}), n.d(t, "Y", function() {
            return i
        }), n.d(t, "X", function() {
            return s
        }), n.d(t, "cb", function() {
            return f
        }), n.d(t, "bb", function() {
            return y
        }), n.d(t, "t", function() {
            return b
        }), n.d(t, "M", function() {
            return h
        }), n.d(t, "a", function() {
            return d
        }), n.d(t, "d", function() {
            return m
        }), n.d(t, "V", function() {
            return g
        }), n.d(t, "b", function() {
            return v
        }), n.d(t, "e", function() {
            return _
        }), n.d(t, "p", function() {
            return O
        }), n.d(t, "Q", function() {
            return j
        }), n.d(t, "W", function() {
            return w
        }), n.d(t, "g", function() {
            return k
        }), n.d(t, "B", function() {
            return S
        }), n.d(t, "D", function() {
            return T
        }), n.d(t, "P", function() {
            return R
        }), n.d(t, "G", function() {
            return N
        }), n.d(t, "F", function() {
            return M.a
        }), n.d(t, "C", function() {
            return A
        }), n.d(t, "J", function() {
            return I
        }), n.d(t, "O", function() {
            return L
        }), n.d(t, "l", function() {
            return D
        }), n.d(t, "m", function() {
            return q
        }), n.d(t, "T", function() {
            return F
        }), n.d(t, "U", function() {
            return z
        }), n.d(t, "S", function() {
            return G
        }), n.d(t, "A", function() {
            return B
        }), n.d(t, "q", function() {
            return K
        }), n.d(t, "h", function() {
            return $
        }), n.d(t, !1, function() {}), n.d(t, "f", function() {
            return Y
        }), n.d(t, !1, function() {}), n.d(t, "v", function() {
            return J
        }), n.d(t, !1, function() {
            return Q
        }), n.d(t, "i", function() {
            return ae
        }), n.d(t, "s", function() {
            return ie
        }), n.d(t, "E", function() {
            return se
        }), n.d(t, "I", function() {
            return ce
        }), n.d(t, "H", function() {
            return ue
        }), n.d(t, "c", function() {
            return pe
        }), n.d(t, "K", function() {
            return fe
        }), n.d(t, "L", function() {
            return ye
        }), n.d(t, "R", function() {
            return oe
        }), n.d(t, "j", function() {
            return de
        }), n.d(t, "k", function() {
            return ge
        }), n.d(t, "ab", function() {
            return _e
        }), n.d(t, "fb", function() {
            return Oe
        }), n.d(t, "w", function() {
            return he
        }), n.d(t, "x", function() {
            return me
        }), n.d(t, "y", function() {
            return ve
        }), n.d(t, "db", function() {
            return je
        }), n.d(t, "u", function() {
            return Se
        }), n.d(t, "o", function() {
            return xe
        }), n.d(t, "Z", function() {
            return Ce
        }), n.d(t, "eb", function() {
            return Re
        }), n.d(t, "z", function() {
            return Ne
        }), n.d(t, "n", function() {
            return Me
        })
    },
    "./app/js/actionCreator/actionTypes.js": function(e, t, n) {
        "use strict";
        n.d(t, "t", function() {
            return r
        }), n.d(t, "N", function() {
            return o
        }), n.d(t, "e", function() {
            return a
        }), n.d(t, "m", function() {
            return i
        }), n.d(t, "n", function() {
            return s
        }), n.d(t, "o", function() {
            return c
        }), n.d(t, "l", function() {
            return u
        }), n.d(t, "O", function() {
            return l
        }), n.d(t, "j", function() {
            return p
        }), n.d(t, "E", function() {
            return f
        }), n.d(t, "F", function() {
            return y
        }), n.d(t, "I", function() {
            return b
        }), n.d(t, "i", function() {
            return h
        }), n.d(t, "g", function() {
            return d
        }), n.d(t, "V", function() {
            return m
        }), n.d(t, "U", function() {
            return g
        }), n.d(t, "C", function() {
            return v
        }), n.d(t, "W", function() {
            return _
        }), n.d(t, "k", function() {
            return O
        }), n.d(t, "H", function() {
            return j
        }), n.d(t, "Q", function() {
            return w
        }), n.d(t, "R", function() {
            return k
        }), n.d(t, "P", function() {
            return E
        }), n.d(t, "B", function() {
            return S
        }), n.d(t, "z", function() {
            return x
        }), n.d(t, "D", function() {
            return C
        }), n.d(t, "A", function() {
            return P
        }), n.d(t, "J", function() {
            return T
        }), n.d(t, "K", function() {
            return R
        }), n.d(t, "y", function() {
            return N
        }), n.d(t, "L", function() {
            return M
        }), n.d(t, "G", function() {
            return A
        }), n.d(t, "a", function() {
            return I
        }), n.d(t, "c", function() {
            return L
        }), n.d(t, "T", function() {
            return D
        }), n.d(t, "b", function() {
            return q
        }), n.d(t, "d", function() {
            return F
        }), n.d(t, "h", function() {
            return z
        }), n.d(t, "M", function() {
            return G
        }), n.d(t, "S", function() {
            return B
        }), n.d(t, "f", function() {
            return U
        }), n.d(t, "p", function() {
            return H
        }), n.d(t, "Y", function() {
            return W
        }), n.d(t, "q", function() {
            return V
        }), n.d(t, "r", function() {
            return K
        }), n.d(t, "v", function() {
            return $
        }), n.d(t, "x", function() {
            return Y
        }), n.d(t, "w", function() {
            return J
        }), n.d(t, "X", function() {
            return Q
        }), n.d(t, "s", function() {
            return X
        }), n.d(t, "u", function() {
            return Z
        });
        var r = "SET_PERMALINK_FRAGMENT",
            o = "SET_USER_DATA",
            a = "FAVORITE_CURRENT_REGEX",
            i = "SET_COOKIE",
            s = "SET_DELETE_CODE",
            c = "SET_GENERAL_TITLE",
            u = "SET_CARBON_SPONSOR",
            l = "SET_USER_HISTORY",
            p = "SET_ACCOUNT_FAVORITE",
            f = "SET_REGEX_TAGS",
            y = "SET_REGEX_TITLE",
            b = "SET_SETTINGS",
            h = "SAVE_STORAGE",
            d = "LOAD_STORAGE",
            m = "STORAGE_SAVED",
            g = "STORAGE_LOADED",
            v = "SET_REGEX_FLAVOR",
            _ = "TOGGLE_RIGHT_SIDEBAR_SUBSECTION",
            O = "SET_ACTIVE_SUBSECTION",
            j = "SET_RIGHT_SIDEBAR_WIDTH",
            w = "SHOW_SUBSTITUTION_AREA",
            k = "SHOW_UNIT_TEST_AREA",
            E = "SHOW_MATCH_AREA",
            S = "SET_REGEX_FLAGS",
            x = "SET_REGEX_DELIMITER",
            C = "SET_REGEX_RESULT",
            P = "SET_REGEX_ERROR",
            T = "SET_SUBSTITUTION",
            R = "SET_TEST_STRING",
            N = "SET_REGEX",
            M = "SET_UNIT_TESTS_ACTIVE",
            A = "SET_REGEX_VERSIONS",
            I = "ADD_UNIT_TEST",
            L = "DELETE_UNIT_TEST",
            D = "START_UNIT_TEST_EDIT",
            q = "CANCEL_EDIT_UNIT_TEST",
            F = "EDIT_UNIT_TEST",
            z = "MOVE_UNIT_TEST",
            G = "SET_UNIT_TEST_STATUS",
            B = "START_UNIT_TESTING",
            U = "FINISH_UNIT_TESTING",
            H = "SET_LIBRARY_DATA",
            W = "VOTE_LIBRARY_ENTRY",
            V = "SET_LIBRARY_DETAILS",
            K = "SET_LIBRARY_ENTRY_METADATA",
            $ = "SET_QUIZ_TASKS",
            Y = "SET_QUIZ_TASK_ERROR",
            J = "SET_QUIZ_TASK_DONE",
            Q = "UPDATE_QUIZ_TASK_ENTRY",
            X = "SET_MOST_RECENT_TASK_IDX",
            Z = "SET_QUIZ_STATISTICS"
    },
    "./app/js/actionCreator/actions/RegexEditor/setRegexFlags.js": function(e, t, n) {
        "use strict";
        n.d(t, "b", function() {
            return p
        });
        var r = n("./node_modules/lodash/lodash.js"),
            o = n.n(r),
            a = n("./app/js/actionCreator/actionTypes.js"),
            i = n("./app/js/constants/RegexFlags.js"),
            s = n.n(i),
            c = n("./app/js/constants/Flavors.js"),
            u = n.n(c),
            l = n("./app/js/utils/Raven.js");

        function p(e, t) {
            return o.a.uniq(e.replace(new RegExp("[^".concat(s.a[t], "]"), "g"), "")).join("")
        }
        t.a = function(e, t, n) {
            var r = p(t, n);
            if (n === u.a.PYTHON) {
                var o = -1 !== r.indexOf("u"),
                    i = -1 !== r.indexOf("a"); - 1 !== e.indexOf("a") && o ? r = r.replace("a", "") : -1 !== e.indexOf("u") && i ? r = r.replace("u", "") : o && i && (r = r.replace("u", ""))
            }
            return l.a.setExtraContext({
                flags: r
            }), {
                type: a.B,
                value: r
            }
        }
    },
    "./app/js/components/AccountPage/AccountPage.css": function(e, t, n) {
        e.exports = {
            root: "_1m0f1"
        }
    },
    "./app/js/components/AccountPage/Tags/Tag.css": function(e, t, n) {
        e.exports = {
            tag: "VRMn6",
            deletable: "_3MaDg",
            clickable: "_3cjdP",
            deleteButton: "_12oRR",
            mediumSize: "_2sk5q",
            smallSize: "M2oFK",
            isSelected: "_2d_oQ"
        }
    },
    "./app/js/components/AccountPage/Tags/TagList.css": function(e, t, n) {
        e.exports = {
            taglist: "_3AluH"
        }
    },
    "./app/js/components/AccountPage/TitleRow.css": function(e, t, n) {
        e.exports = {
            root: "_2iyrD",
            url: "x8-Br",
            flavor: "Ji3rj",
            title: "rxh4S"
        }
    },
    "./app/js/components/AccountPage/Toolbar.css": function(e, t, n) {
        e.exports = {
            root: "_1-oQN",
            icons: "_3PhKb",
            date: "_1nHq2",
            tooltip: "_30yfC",
            icon: "_1vq45",
            delete: "_3QGKg",
            fill: "_2Lsfk",
            isFavorite: "_2MpWJ",
            isPrivate: "_2jTF0",
            isLocked: "fwIcA",
            title: "_2aLOg"
        }
    },
    "./app/js/components/AccountPage/UserData.css": function(e, t, n) {
        e.exports = {
            root: "_1a4vc",
            container: "_3e_MG",
            isFetchingData: "m8vKh",
            fetchingDataLoader: "_2KclR",
            historyContainer: "_24qv7",
            historyLabel: "_3E3Yw",
            paginator: "_1oVew"
        }
    },
    "./app/js/components/AccountPage/UserDataItem.css": function(e, t, n) {
        e.exports = {
            root: "_1iEOM",
            tagList: "_10XpP"
        }
    },
    "./app/js/components/BadBrowser/BadBrowser.css": function(e, t, n) {
        e.exports = {
            text: "dVGDz",
            content: "_1hExh"
        }
    },
    "./app/js/components/CarbonSponsor/CarbonSponsor.css": function(e, t, n) {
        e.exports = {
            sponsor: "_234pj",
            carbonLink: "tNf50",
            revoLink: "_3KgtM",
            description: "_2pQp8",
            sponsorText: "_39_-O"
        }
    },
    "./app/js/components/CodeGenerator/CodeGenerator.css": function(e, t, n) {
        e.exports = {
            root: "nG-Th",
            container: "UYjq9",
            language: "_3GCa_",
            codeContainer: "WRi1z",
            code: "_2ZPsC",
            copyButton: "_1hOoY",
            referenceUrl: "_3HAfQ",
            infoNotice: "_1w10K"
        }
    },
    "./app/js/components/CodeMirror/CodeMirror.css": function(e, t, n) {},
    "./app/js/components/CodeMirror/CodeMirror.js": function(e, t, n) {
        "use strict";
        var r, o, a, i = n("./node_modules/react/index.js"),
            s = n.n(i),
            c = n("./node_modules/prop-types/index.js"),
            u = n.n(c),
            l = n("./node_modules/react-dom/index.js"),
            p = n("./node_modules/classnames/index.js"),
            f = n.n(p),
            y = n("./node_modules/lodash/lodash.js"),
            b = n.n(y),
            h = n("./app/js/utils/codemirror.js"),
            d = n("./app/js/utils/decorators/index.js");
        n("./app/js/components/CodeMirror/CodeMirror.css");

        function m(e) {
            return (m = "function" === typeof Symbol && "symbol" === typeof Symbol.iterator ? function(e) {
                return typeof e
            } : function(e) {
                return e && "function" === typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e
            })(e)
        }

        function g(e, t) {
            for (var n = 0; n < t.length; n++) {
                var r = t[n];
                r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(e, r.key, r)
            }
        }

        function v(e, t) {
            return !t || "object" !== m(t) && "function" !== typeof t ? function(e) {
                if (void 0 === e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
                return e
            }(e) : t
        }

        function _(e) {
            return (_ = Object.setPrototypeOf ? Object.getPrototypeOf : function(e) {
                return e.__proto__ || Object.getPrototypeOf(e)
            })(e)
        }

        function O(e, t) {
            return (O = Object.setPrototypeOf || function(e, t) {
                return e.__proto__ = t, e
            })(e, t)
        }

        function j(e, t, n, r, o) {
            var a = {};
            return Object.keys(r).forEach(function(e) {
                a[e] = r[e]
            }), a.enumerable = !!a.enumerable, a.configurable = !!a.configurable, ("value" in a || a.initializer) && (a.writable = !0), a = n.slice().reverse().reduce(function(n, r) {
                return r(e, t, n) || n
            }, a), o && void 0 !== a.initializer && (a.value = a.initializer ? a.initializer.call(o) : void 0, a.initializer = void 0), void 0 === a.initializer && (Object.defineProperty(e, t, a), a = null), a
        }
        var w = (a = o = function(e) {
            function t() {
                var e, n;
                ! function(e, t) {
                    if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function")
                }(this, t);
                for (var r = arguments.length, o = new Array(r), a = 0; a < r; a++) o[a] = arguments[a];
                return (n = v(this, (e = _(t)).call.apply(e, [this].concat(o)))).state = {
                    showWhitespace: !!n.props.options.showWhitespace
                }, n
            }
            var n, r, o;
            return function(e, t) {
                if ("function" !== typeof t && null !== t) throw new TypeError("Super expression must either be null or a function");
                e.prototype = Object.create(t && t.prototype, {
                    constructor: {
                        value: e,
                        writable: !0,
                        configurable: !0
                    }
                }), t && O(e, t)
            }(t, i["Component"]), n = t, (r = [{
                key: "componentDidMount",
                value: function() {
                    this._codeMirror = h.a.fromTextArea(this._textArea, this.props.options), this._codeMirror.on("change", this.onValueChanged), this._codeMirror.on("focus", this.onFocus), this._codeMirror.on("blur", this.onBlur), this._currentCodemirrorValue = this.props.defaultValue || this.props.value || "", this._codeMirror.setValue(this._currentCodemirrorValue), this.props.onCursorMove && this._codeMirror.on("cursorActivity", this.onCursorActivity)
                }
            }, {
                key: "componentWillUnmount",
                value: function() {
                    this._codeMirror && (this._codeMirror.off("change", this.onValueChanged), this._codeMirror.off("focus", this.onFocus), this._codeMirror.off("blur", this.onBlur), this._codeMirror.off("cursorActivity", this.onCursorActivity), this._codeMirror.toTextArea(), this._codeMirror = null)
                }
            }, {
                key: "componentWillReceiveProps",
                value: function(e) {
                    if (this._codeMirror && void 0 !== e.value && this._currentCodemirrorValue !== e.value && this._codeMirror.setValue(e.value), "object" === m(e.options))
                        for (var t in e.options)
                            if (e.options.hasOwnProperty(t)) {
                                var n = e.options[t];
                                "showWhitespace" === t && this.setState({
                                    showWhitespace: n
                                }), this._codeMirror.setOption(t, n)
                            }
                }
            }, {
                key: "shouldComponentUpdate",
                value: function(e, t) {
                    return this.props.className !== e.className || this.state.showWhitespace !== t.showWhitespace
                }
            }, {
                key: "getInstance",
                value: function() {
                    return this._codeMirror
                }
            }, {
                key: "getCodeMirror",
                value: function() {
                    return this._codeMirror
                }
            }, {
                key: "focus",
                value: function() {
                    this._codeMirror && this._codeMirror.focus()
                }
            }, {
                key: "getCharIndexAt",
                value: function(e, t) {
                    for (var n = this._codeMirror.coordsChar({
                            left: e,
                            top: t
                        }, "page"), r = 0; r < 2; r++) {
                        var o = this._codeMirror.charCoords(n, "page");
                        if (e >= o.left && e <= o.right && t >= o.top && t <= o.bottom) return this._codeMirror.indexFromPos(n);
                        if (n.ch-- <= 0) break
                    }
                    return null
                }
            }, {
                key: "getCharRect",
                value: function(e) {
                    if (null == e) return null;
                    var t = this._codeMirror.posFromIndex(e),
                        n = this._codeMirror.charCoords(t);
                    return b.a.extend(n, {
                        x: n.left,
                        y: n.top,
                        width: n.right - n.left,
                        height: n.bottom - n.top
                    })
                }
            }, {
                key: "onCursorActivity",
                value: function() {
                    var e = this._codeMirror.indexFromPos(this._codeMirror.getCursor());
                    this.props.onCursorMove(e)
                }
            }, {
                key: "onFocus",
                value: function() {
                    this.props.onFocusChange && this.props.onFocusChange(!0)
                }
            }, {
                key: "onBlur",
                value: function() {
                    this.props.onFocusChange && this.props.onFocusChange(!1)
                }
            }, {
                key: "onValueChanged",
                value: function(e, t) {
                    var n = e.getValue();
                    this.props.onChange && this.props.onChange(n), this._currentCodemirrorValue = n
                }
            }, {
                key: "render",
                value: function() {
                    var e = this;
                    return s.a.createElement("div", {
                        className: f()(this.props.className, this.state.showWhitespace && "CodeMirror-show-whitespace")
                    }, s.a.createElement("textarea", {
                        ref: function(t) {
                            e._textArea = Object(l.findDOMNode)(t)
                        },
                        defaultValue: "",
                        autoComplete: "off"
                    }))
                }
            }]) && g(n.prototype, r), o && g(n, o), t
        }(), o.propTypes = {
            onChange: u.a.func,
            onFocusChange: u.a.func,
            onCursorMove: u.a.func,
            options: u.a.object,
            value: u.a.string,
            defaultValue: u.a.string,
            className: u.a.any
        }, o.defaultProps = {
            options: {}
        }, j((r = a).prototype, "onCursorActivity", [d.a], Object.getOwnPropertyDescriptor(r.prototype, "onCursorActivity"), r.prototype), j(r.prototype, "onFocus", [d.a], Object.getOwnPropertyDescriptor(r.prototype, "onFocus"), r.prototype), j(r.prototype, "onBlur", [d.a], Object.getOwnPropertyDescriptor(r.prototype, "onBlur"), r.prototype), j(r.prototype, "onValueChanged", [d.a], Object.getOwnPropertyDescriptor(r.prototype, "onValueChanged"), r.prototype), r);
        t.a = w
    },
    "./app/js/components/CodeMirror/showWhitespace.css": function(e, t, n) {},
    "./app/js/components/CodeMirror/showWhitespace.js": function(e, t, n) {
        "use strict";
        n.r(t), n.d(t, "default", function() {
            return o
        });
        n("./app/js/components/CodeMirror/showWhitespace.css");
        var r = {
            name: "showWhitespace",
            flattenSpans: !1,
            token: function(e) {
                var t = e.peek();
                if (" " === t) return e.next(), "space";
                for (; !e.eol() && " " !== t;) e.next(), t = e.peek();
                return null
            }
        };

        function o(e) {
            e.defineOption("showWhitespace", !1, function(t, n, o) {
                o === e.Init && (o = !1), o && !n ? t.removeOverlay("showWhitespace") : !o && n && t.addOverlay(r)
            })
        }
    },
    "./app/js/components/Header/Header.css": function(e, t, n) {
        e.exports = {
            root: "qTp7n",
            leftSidebarHamburger: "_3PpQj",
            rightSidebarHamburger: "_1UQZC",
            links: "HFUvg",
            logo: "_198Rl",
            iconButton: "_2fCJ4",
            twitterLink: "_2sYhi",
            donateLink: "_1aDRh",
            sponsorLink: "_3YaPL",
            contactLink: "_3azOt",
            feedbackLink: "_3N0Hg",
            wiki: "_1Q8NC"
        }
    },
    "./app/js/components/Header/HeaderLink.css": function(e, t, n) {
        e.exports = {
            root: "_2PLNZ",
            link: "nF9oJ",
            linkIcon: "_2R3D9",
            text: "_28LYx",
            iconButton: "_2ipRT"
        }
    },
    "./app/js/components/LeftSidebar/CollapsableLeftSidebar.css": function(e, t, n) {
        e.exports = {
            sidebar: "_45jBc",
            sidebarContents: "_2Mbtx",
            menuHamburgerParent: "_2hUmL",
            collapsedSidebar: "_3Y3zU",
            header: "_36Swb",
            sidebarBackdrop: "_38L42",
            contents: "_2mUvY",
            enter: "_1pAtH",
            enterActive: "_1A2ws",
            leave: "_2ldNX",
            leaveActive: "_3V4si",
            menuHamburger: "_3tCML"
        }
    },
    "./app/js/components/LeftSidebar/InnerSidebar.css": function(e, t, n) {
        e.exports = {
            root: "_2eQHI",
            accountLink: "_3-P0M",
            link: "_2Q760",
            active: "_3nfQ5",
            iconButton: "_1idGU",
            donationButton: "D-Unr",
            sponsorButton: "TONLF"
        }
    },
    "./app/js/components/LeftSidebar/LeftSidebar.css": function(e, t, n) {
        e.exports = {
            sidebar: "_2q2Gx",
            sidebarChild: "_3nQkc",
            sidebarContents: "_3tDL-",
            offlineText: "_3XLce",
            sponsor: "y-FD0"
        }
    },
    "./app/js/components/LeftSidebar/SidebarContents/AccountSidebar.css": function(e, t, n) {
        e.exports = {
            sidebarMenu: "_3lGA5",
            taglist: "_2gqUx",
            email: "_1cu9q",
            signOut: "_3AAFa"
        }
    },
    "./app/js/components/LeftSidebar/SidebarContents/QuizSidebar.css": function(e, t, n) {
        e.exports = {
            sidebarMenu: "_2EYee",
            loadingArea: "_1lT4Y",
            spinner: "_2Msxo",
            signOut: "k9wLJ"
        }
    },
    "./app/js/components/LeftSidebar/SidebarContents/RegexSidebar.css": function(e, t, n) {
        e.exports = {
            actionList: "_1ksHK",
            saveBtn: "_3EYLo",
            paragraph: "_31PEA",
            favoriteButton: "_2K_Am",
            deleteButton: "IioTf"
        }
    },
    "./app/js/components/LeftSidebar/SidebarContents/SettingsSidebar.css": function(e, t, n) {
        e.exports = {
            root: "rl2WD"
        }
    },
    "./app/js/components/ListMenu/Contents/DefaultContent.css": function(e, t, n) {
        e.exports = {
            content: "_3FxKO",
            normal: "TiBVh",
            extendFromLeft: "_18Ike",
            extendFromRight: "_3xkJU"
        }
    },
    "./app/js/components/ListMenu/Contents/IconContent.css": function(e, t, n) {
        e.exports = {
            icon: "_38v59"
        }
    },
    "./app/js/components/ListMenu/Contents/ToggleContent.css": function(e, t, n) {
        e.exports = {
            toggleItem: "_2fu3E",
            checkMark: "_22-Pt",
            isActive: "_2qFpL",
            children: "rdUxR"
        }
    },
    "./app/js/components/ListMenu/LinkListItem.css": function(e, t, n) {
        e.exports = {
            link: "_1mPL2"
        }
    },
    "./app/js/components/ListMenu/ListItem.css": function(e, t, n) {
        e.exports = {
            listItem: "_15gkk",
            disabled: "Ho90G"
        }
    },
    "./app/js/components/ListMenu/ListMenu.css": function(e, t, n) {
        e.exports = {
            menu: "_2v5h0",
            extendFromLeft: "_1TLPw",
            label: "_161o4",
            extendFromRight: "_2_bRp"
        }
    },
    "./app/js/components/ListMenu/MultiListItem.css": function(e, t, n) {
        e.exports = {
            rightElement: "_28Jw2",
            wrapText: "S8Y5s",
            multiLabel: "_3U--R"
        }
    },
    "./app/js/components/LoadingScreen/FetchIndicator.css": function(e, t, n) {
        e.exports = {
            root: "_1vlFg"
        }
    },
    "./app/js/components/LoadingScreen/LoadingScreen.css": function(e, t, n) {
        e.exports = {
            root: "_1fiJD",
            finishedLoading: "_9TrRn",
            container: "_13Yxk",
            content: "_18h7i",
            text: "_26B6q",
            leave: "drSOH",
            leaveActive: "_1eCVe"
        }
    },
    "./app/js/components/Logo/Logo.css": function(e, t, n) {
        e.exports = {
            root: "_13Cpk",
            suffix: "_1UZVO",
            narrow: "_3Z8iV",
            wide: "_3Wriv",
            regular: "_1Dpdr",
            expressions: "pJLAE",
            noClick: "_3NyyL"
        }
    },
    "./app/js/components/MarkdownEditor/MarkdownEditor.css": function(e, t, n) {
        e.exports = {
            root: "_2XOp1",
            toolbar: "_7mmkW",
            tools: "KCar3",
            markdownLink: "_1vVe7",
            editorWrapper: "_3uLwr",
            previewWindow: "_25KSM",
            editor: "_2s6XN",
            tab: "_1iWN4",
            active: "_2RBa0"
        }
    },
    "./app/js/components/MarkdownEditor/Toolbar.css": function(e, t, n) {
        e.exports = {
            toolbar: "_3LS7G"
        }
    },
    "./app/js/components/MarkdownEditor/ToolbarGroup.css": function(e, t, n) {
        e.exports = {
            toolbarGroup: "_3tSCh"
        }
    },
    "./app/js/components/MarkdownEditor/ToolbarItem.css": function(e, t, n) {
        e.exports = {
            item: "_3lXWi",
            icon: "_26JHC",
            menuIcon: "_3n0eM"
        }
    },
    "./app/js/components/Menu/Menu.css": function(e, t, n) {
        e.exports = {
            menuPortal: "_23v1c",
            menu: "JfMLQ",
            enter: "_1mL41",
            enterActive: "_1J-DB",
            leave: "_1RuuU",
            leaveActive: "_2X9-f"
        }
    },
    "./app/js/components/Menu/MenuContainer.css": function(e, t, n) {
        e.exports = {
            menu: "_1798N"
        }
    },
    "./app/js/components/Menu/MenuDivider.css": function(e, t, n) {
        e.exports = {
            divider: "_2xFAx"
        }
    },
    "./app/js/components/Menu/MenuHeader.css": function(e, t, n) {
        e.exports = {
            header: "_2OO0X"
        }
    },
    "./app/js/components/Menu/MenuItem.css": function(e, t, n) {
        e.exports = {
            menuItem: "_1BHlD",
            disabled: "pMhwQ",
            icon: "_1wR93",
            hidden: "_1Zo5G"
        }
    },
    "./app/js/components/Menu/Menus/DelimiterMenu.css": function(e, t, n) {
        e.exports = {
            monospace: "_3Qncl"
        }
    },
    "./app/js/components/Menu/Menus/FlagsMenu.css": function(e, t, n) {
        e.exports = {
            flagItem: "_2UYTO",
            flagIcon: "n43fM"
        }
    },
    "./app/js/components/Menu/Menus/RegexVersionsMenu.css": function(e, t, n) {
        e.exports = {
            loading: "_32AtQ",
            spinner: "_1zHo4"
        }
    },
    "./app/js/components/MenuHamburger/MenuHamburger.css": function(e, t, n) {
        e.exports = {
            container: "_1I6Wv"
        }
    },
    "./app/js/components/Modal/AccountEditModal/AccountContent.css": function(e, t, n) {
        e.exports = {
            section: "_1v1Hv",
            addTagButton: "_3H9Ec"
        }
    },
    "./app/js/components/Modal/AccountEditModal/AccountItemModal.css": function(e, t, n) {
        e.exports = {
            saveButton: "tKSB6"
        }
    },
    "./app/js/components/Modal/AddUnitTestModal/AddUnitTestModal.css": function(e, t, n) {
        e.exports = {
            textInput: "gGpTC",
            select: "_3VDA6",
            button: "KKCcH",
            notice: "_3RZtE",
            saveBtn: "nkj-g",
            container: "_36fH3",
            resizable: "_1R-Vd",
            testResult: "oH3yI",
            pass: "_1O7VP",
            fail: "_3ABZT"
        }
    },
    "./app/js/components/Modal/BetaDisclaimerModal/BetaDisclaimerModal.css": function(e, t, n) {
        e.exports = {
            root: "_32qUM"
        }
    },
    "./app/js/components/Modal/ConfirmationModal/ConfirmationModal.css": function(e, t, n) {
        e.exports = {
            messageBody: "_1X-Vn",
            modal: "_15xXx"
        }
    },
    "./app/js/components/Modal/ExportMatchModal/ExportMatchModal.css": function(e, t, n) {
        e.exports = {
            root: "_733Ow",
            contents: "xdkri",
            copyButton: "_1PUr6",
            contentWrapper: "_3_x6v",
            includeFullMatch: "_1cgyn",
            dataContainer: "IwFaX",
            listMenu: "_3rLrw"
        }
    },
    "./app/js/components/Modal/Modal.css": function(e, t, n) {
        e.exports = {
            modalContainer: "_2QQd_",
            modalWrapper: "_1-qJ1",
            modalBackdrop: "_36DmF",
            modal: "_3cFwC",
            closeButton: "_64QQg",
            enter: "_36p63",
            enterActive: "_1moQH",
            leave: "SLte8",
            leaveActive: "_1iGnq"
        }
    },
    "./app/js/components/Modal/ModalBody.css": function(e, t, n) {
        e.exports = {
            modalBody: "_8SRWX"
        }
    },
    "./app/js/components/Modal/ModalFooter.css": function(e, t, n) {
        e.exports = {
            modalFooter: "_3A7mE"
        }
    },
    "./app/js/components/Modal/ModalHeader.css": function(e, t, n) {
        e.exports = {
            modalHeader: "_2Atbb",
            titleIcon: "_2P1W2"
        }
    },
    "./app/js/components/Modal/SaveModal/SaveContent.css": function(e, t, n) {
        e.exports = {
            centered: "_1kciM",
            note: "_3vvgZ",
            input: "_1Cyxc",
            paragraph: "_2lfKM",
            accountData: "_15m_3"
        }
    },
    "./app/js/components/Modal/SaveModal/SaveModal.css": function(e, t, n) {
        e.exports = {
            saveButton: "_32m73"
        }
    },
    "./app/js/components/Modal/ShortcutModal/ShortcutModal.css": function(e, t, n) {
        e.exports = {
            modal: "_3GMoq",
            shortcut: "Jc0Ts",
            table: "_385Bo",
            descriptionTitle: "_2Su-J",
            shortcutTitle: "_2p1Ky",
            shortcutRow: "_2SXPB",
            shortcutContainer: "_1giE5"
        }
    },
    "./app/js/components/Modal/SubmitToLibraryModal/InputGroup.css": function(e, t, n) {
        e.exports = {
            inputGroup: "_3MZT2"
        }
    },
    "./app/js/components/Modal/SubmitToLibraryModal/SubmitToLibraryModal.css": function(e, t, n) {
        e.exports = {
            center: "_1yzcw",
            successContainer: "_3J9J6",
            loading: "_1hxWz",
            success: "_1zwfL",
            cancelButton: "_1DVHS"
        }
    },
    "./app/js/components/Paginator/Page.css": function(e, t, n) {
        e.exports = {
            page: "_11RCw",
            active: "_28F45"
        }
    },
    "./app/js/components/Paginator/PageArrow.css": function(e, t, n) {
        e.exports = {
            pageArrow: "_3vn_e",
            hidden: "_1rMUf"
        }
    },
    "./app/js/components/Paginator/Paginator.css": function(e, t, n) {
        e.exports = {
            paginator: "_1B1Vt",
            active: "_2-ZZG"
        }
    },
    "./app/js/components/QuizPage/PreviousBestRegex.css": function(e, t, n) {
        e.exports = {
            regex: "_32BMy",
            tooltip: "_2dq3X"
        }
    },
    "./app/js/components/QuizPage/QuizContent.css": function(e, t, n) {
        e.exports = {
            root: "nDxSW",
            label: "CzWOO"
        }
    },
    "./app/js/components/QuizPage/QuizPage.css": function(e, t, n) {
        e.exports = {
            quizContent: "_31qGO",
            loginInfo: "_2VFkt",
            shortestEntry: "_2Ytiq",
            regexArea: "_2WCBc",
            substArea: "_3I1hk",
            resultArea: "_117fL",
            buttonArea: "_2X-si",
            button: "Q2qK_",
            spinnerContainer: "_1a04A",
            spinner: "DE_Hb",
            score: "ee7Rs",
            markdownContainer: "_2Wqfh",
            error: "_27HV4",
            nextLink: "_3HguF",
            fetchWrapper: "_3OJI0",
            isFetchingData: "_3DGKz",
            introSpace: "_3CMwC",
            creditList: "_2Miby"
        }
    },
    "./app/js/components/QuizPage/QuizStatistics.css": function(e, t, n) {
        e.exports = {
            fetchError: "_37o1J",
            chartContainer: "_2YD1z",
            spinner: "_3ZEou",
            tooltip: "_3B2Ls"
        }
    },
    "./app/js/components/RegexDebugger/DebugDataContainer.css": function(e, t, n) {
        e.exports = {
            stepContainer: "_3T15d",
            debugContainer: "_3u-jU",
            shortcuts: "_3faGP",
            sliderArea: "_1JPjj",
            leftInput: "_3j6oQ",
            rightInput: "_11u1c",
            slider: "_22JtJ",
            controls: "_29Aas",
            goBeginning: "_2Qsr5",
            goEnd: "_1TH0e",
            increase: "qen8Y",
            decrease: "_3CWIk",
            playPause: "_2z3fO",
            disabled: "_3HjGg",
            input: "pJa5c",
            loadMoreButton: "_2gqRb",
            container: "_1-wHM",
            stepSlider: "_1vu8F",
            matchStep: "_1R9zN"
        }
    },
    "./app/js/components/RegexDebugger/DebugRegex.css": function(e, t, n) {
        e.exports = {
            regex: "wYTbx",
            backtrack: "SUSJJ",
            regexHighlight: "_1KDkF"
        }
    },
    "./app/js/components/RegexDebugger/DebugTestString.css": function(e, t, n) {
        e.exports = {
            stringMatch: "_2MGFI",
            stringArea: "WjJ-B",
            backtrack: "_2-zVg"
        }
    },
    "./app/js/components/RegexDebugger/RegexDebugger.css": function(e, t, n) {
        e.exports = {
            root: "_3aESe",
            centered: "_2B3Ns",
            loadingText: "QYjOp",
            matchSelector: "_2Dp7O",
            debugResult: "_3k6M7",
            match: "_12UU3",
            noMatch: "_1s0eS"
        }
    },
    "./app/js/components/RegexDebugger/Slider.css": function(e, t, n) {
        e.exports = {
            slider: "sQkEv",
            rail: "_1huJq",
            actualRail: "_3C1yb",
            handle: "_2WQKM",
            track: "_2781v",
            tickLine: "_2vvMp",
            tickText: "f1sIJ"
        }
    },
    "./app/js/components/RegexEditor/EditorTooltip/EditorTooltip.css": function(e, t, n) {
        e.exports = {
            root: "_2_8ld",
            tooltipped: "_2eQcR",
            arrow: "_2yrbM",
            enter: "_1ez1_",
            enterActive: "_2_2dL",
            leave: "_1MFGF",
            leaveActive: "_2_ofN"
        }
    },
    "./app/js/components/RegexEditor/EditorTooltip/EditorTooltip.js": function(e, t, n) {
        "use strict";
        var r, o = n("./node_modules/react/index.js"),
            a = n.n(o),
            i = n("./node_modules/react-dom/index.js"),
            s = n("./app/js/utils/decorators/index.js"),
            c = n("./app/js/components/utils/index.js"),
            u = n("./app/js/utils/cssDurationToMilliseconds.js"),
            l = n("./app/js/styles/variables/animations.js"),
            p = n.n(l),
            f = n("./app/js/components/RegexEditor/EditorTooltip/EditorTooltip.css"),
            y = n.n(f);

        function b(e) {
            return (b = "function" === typeof Symbol && "symbol" === typeof Symbol.iterator ? function(e) {
                return typeof e
            } : function(e) {
                return e && "function" === typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e
            })(e)
        }

        function h(e, t) {
            for (var n = 0; n < t.length; n++) {
                var r = t[n];
                r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(e, r.key, r)
            }
        }

        function d(e, t) {
            return !t || "object" !== b(t) && "function" !== typeof t ? function(e) {
                if (void 0 === e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
                return e
            }(e) : t
        }

        function m(e) {
            return (m = Object.setPrototypeOf ? Object.getPrototypeOf : function(e) {
                return e.__proto__ || Object.getPrototypeOf(e)
            })(e)
        }

        function g(e, t) {
            return (g = Object.setPrototypeOf || function(e, t) {
                return e.__proto__ = t, e
            })(e, t)
        }

        function v(e, t, n, r, o) {
            var a = {};
            return Object.keys(r).forEach(function(e) {
                a[e] = r[e]
            }), a.enumerable = !!a.enumerable, a.configurable = !!a.configurable, ("value" in a || a.initializer) && (a.writable = !0), a = n.slice().reverse().reduce(function(n, r) {
                return r(e, t, n) || n
            }, a), o && void 0 !== a.initializer && (a.value = a.initializer ? a.initializer.call(o) : void 0, a.initializer = void 0), void 0 === a.initializer && (Object.defineProperty(e, t, a), a = null), a
        }
        var _ = Object(u.a)(p.a.fastSpeed),
            O = {
                appear: y.a.enter,
                appearActive: y.a.enterActive,
                enter: y.a.enter,
                enterActive: y.a.enterActive,
                leave: y.a.leave,
                leaveActive: y.a.leaveActive
            },
            j = (v((r = function(e) {
                function t() {
                    var e, n;
                    ! function(e, t) {
                        if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function")
                    }(this, t);
                    for (var r = arguments.length, o = new Array(r), a = 0; a < r; a++) o[a] = arguments[a];
                    return (n = d(this, (e = m(t)).call.apply(e, [this].concat(o)))).state = {
                        x: 0,
                        y: 0,
                        visibility: "hidden",
                        showTooltip: !1,
                        data: null
                    }, n
                }
                var n, r, s;
                return function(e, t) {
                    if ("function" !== typeof t && null !== t) throw new TypeError("Super expression must either be null or a function");
                    e.prototype = Object.create(t && t.prototype, {
                        constructor: {
                            value: e,
                            writable: !0,
                            configurable: !0
                        }
                    }), t && g(e, t)
                }(t, o["PureComponent"]), n = t, (r = [{
                    key: "componentWillUnmount",
                    value: function() {
                        document.body.removeEventListener("mouseout", this.onMouseOut, !0), this.tooltip = null
                    }
                }, {
                    key: "onPortalRef",
                    value: function(e) {
                        e && (this.tooltip = Object(i.findDOMNode)(e).querySelector(".".concat(y.a.tooltipped)))
                    }
                }, {
                    key: "updateSize",
                    value: function() {
                        if (this.tooltip) {
                            var e = this.state,
                                t = e.x,
                                n = e.y,
                                r = e.bounds,
                                o = this.tooltip.offsetWidth,
                                a = this.tooltip.offsetHeight,
                                i = Math.max(0, t - o / 2);
                            i + o > r.right ? i -= i + o - r.right : i = Math.max(r.left + 10, i), this.setState({
                                x: i,
                                y: n - a - 5,
                                arrowX: t - i,
                                visibility: "visible"
                            })
                        }
                    }
                }, {
                    key: "setPos",
                    value: function(e, t) {
                        var n = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : {
                            left: 0,
                            right: window.innerWidth
                        };
                        return this.setState({
                            x: e,
                            y: t,
                            bounds: n
                        }, this.updateSize), this
                    }
                }, {
                    key: "show",
                    value: function(e) {
                        return document.body.addEventListener("mouseout", this.onMouseOut, !0), this.setState({
                            visibility: "hidden",
                            showTooltip: !0,
                            data: e
                        }), this
                    }
                }, {
                    key: "hide",
                    value: function() {
                        return document.body.removeEventListener("mouseout", this.onMouseOut, !0), this.setState({
                            showTooltip: !1
                        }), this
                    }
                }, {
                    key: "render",
                    value: function() {
                        var e = this.state,
                            t = e.x,
                            n = e.y,
                            r = e.data,
                            o = e.arrowX,
                            i = e.showTooltip,
                            s = e.visibility;
                        return a.a.createElement(c.p, {
                            isOpen: i,
                            onPortalRef: this.onPortalRef
                        }, a.a.createElement(c.w, {
                            transitionName: O,
                            transitionAppearTimeout: _,
                            transitionEnterTimeout: _,
                            transitionLeaveTimeout: _
                        }, a.a.createElement("div", {
                            className: y.a.root,
                            style: {
                                visibility: s,
                                left: t,
                                top: n
                            }
                        }, a.a.createElement("div", {
                            className: y.a.tooltipped
                        }, r), a.a.createElement("div", {
                            className: y.a.arrow,
                            style: {
                                left: o
                            }
                        }))))
                    }
                }]) && h(n.prototype, r), s && h(n, s), t
            }()).prototype, "onPortalRef", [s.a], Object.getOwnPropertyDescriptor(r.prototype, "onPortalRef"), r.prototype), v(r.prototype, "updateSize", [s.a], Object.getOwnPropertyDescriptor(r.prototype, "updateSize"), r.prototype), r);
        t.a = j
    },
    "./app/js/components/RegexEditor/EditorTooltip/RegexTooltipHelper.js": function(e, t, n) {
        "use strict";
        var r = n("./node_modules/react/index.js"),
            o = n.n(r),
            a = n("./node_modules/prop-types/index.js"),
            i = n.n(a),
            s = n("./app/js/parsers/ExplanationEngine/explainToken.js"),
            c = n("./app/js/components/RegexEditor/RegexArea/RegexareaTooltip.css"),
            u = n.n(c);

        function l(e) {
            return (l = "function" === typeof Symbol && "symbol" === typeof Symbol.iterator ? function(e) {
                return typeof e
            } : function(e) {
                return e && "function" === typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e
            })(e)
        }

        function p(e, t) {
            for (var n = 0; n < t.length; n++) {
                var r = t[n];
                r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(e, r.key, r)
            }
        }

        function f(e, t) {
            return !t || "object" !== l(t) && "function" !== typeof t ? function(e) {
                if (void 0 === e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
                return e
            }(e) : t
        }

        function y(e) {
            return (y = Object.setPrototypeOf ? Object.getPrototypeOf : function(e) {
                return e.__proto__ || Object.getPrototypeOf(e)
            })(e)
        }

        function b(e, t) {
            return (b = Object.setPrototypeOf || function(e, t) {
                return e.__proto__ = t, e
            })(e, t)
        }
        var h = function(e) {
            function t() {
                return function(e, t) {
                    if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function")
                }(this, t), f(this, y(t).apply(this, arguments))
            }
            var n, a, i;
            return function(e, t) {
                if ("function" !== typeof t && null !== t) throw new TypeError("Super expression must either be null or a function");
                e.prototype = Object.create(t && t.prototype, {
                    constructor: {
                        value: e,
                        writable: !0,
                        configurable: !0
                    }
                }), t && b(e, t)
            }(t, r["Component"]), n = t, (a = [{
                key: "render",
                value: function() {
                    return o.a.createElement("div", {
                        className: u.a.root
                    }, Object(s.a)(this.props.token))
                }
            }]) && p(n.prototype, a), i && p(n, i), t
        }();
        h.propTypes = {
            token: i.a.object.isRequired
        };
        var d = h,
            m = n("./app/js/components/RegexEditor/EditorTooltip/TooltipHelper.js");

        function g(e) {
            return (g = "function" === typeof Symbol && "symbol" === typeof Symbol.iterator ? function(e) {
                return typeof e
            } : function(e) {
                return e && "function" === typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e
            })(e)
        }

        function v(e, t) {
            for (var n = 0; n < t.length; n++) {
                var r = t[n];
                r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(e, r.key, r)
            }
        }

        function _(e, t) {
            return !t || "object" !== g(t) && "function" !== typeof t ? function(e) {
                if (void 0 === e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
                return e
            }(e) : t
        }

        function O(e) {
            return (O = Object.setPrototypeOf ? Object.getPrototypeOf : function(e) {
                return e.__proto__ || Object.getPrototypeOf(e)
            })(e)
        }

        function j(e, t) {
            return (j = Object.setPrototypeOf || function(e, t) {
                return e.__proto__ = t, e
            })(e, t)
        }
        var w = function(e) {
            function t() {
                return function(e, t) {
                    if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function")
                }(this, t), _(this, O(t).apply(this, arguments))
            }
            var n, r, a;
            return function(e, t) {
                if ("function" !== typeof t && null !== t) throw new TypeError("Super expression must either be null or a function");
                e.prototype = Object.create(t && t.prototype, {
                    constructor: {
                        value: e,
                        writable: !0,
                        configurable: !0
                    }
                }), t && j(e, t)
            }(t, m["a"]), n = t, (r = [{
                key: "selectToken",
                value: function(e) {
                    null != e && e.tooltipToken.ignoreOnHover ? this.hide() : m.a.prototype.selectToken.apply(this, arguments)
                }
            }, {
                key: "_getTooltipContent",
                value: function(e) {
                    return o.a.createElement(d, {
                        token: this._token.tooltipToken
                    })
                }
            }, {
                key: "_equalTokens",
                value: function(e, t) {
                    return !(!e && t || e && !t) && (null == e && null == t || e.tooltipToken === t.tooltipToken)
                }
            }]) && v(n.prototype, r), a && v(n, a), t
        }();
        t.a = w
    },
    "./app/js/components/RegexEditor/EditorTooltip/TooltipHelper.js": function(e, t, n) {
        "use strict";
        var r, o = n("./app/js/utils/codemirror.js"),
            a = n("./app/js/utils/decorators/index.js"),
            i = n("./app/js/parsers/Tokens/tokenStyles.css"),
            s = n.n(i);

        function c(e, t) {
            for (var n = 0; n < t.length; n++) {
                var r = t[n];
                r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(e, r.key, r)
            }
        }
        var u, l, p, f, y, b, h = (u = (r = function() {
            function e(t, n) {
                ! function(e, t) {
                    if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function")
                }(this, e), this._tooltip = null, this._token = null, this._codemirror = null, this._marks = [], this._tooltip = t, this._codemirror = n
            }
            var t, n, r;
            return t = e, (n = [{
                key: "destroy",
                value: function() {
                    document.body.removeEventListener("mouseout", this.onMouseOut, !0), this._tooltip = null, this._codemirror = null, this._marks = null, this._token = null
                }
            }, {
                key: "onMouseOut",
                value: function(e) {
                    this._codemirror.display.lineDiv.contains(e.relatedTarget) || this.hide()
                }
            }, {
                key: "selectToken",
                value: function(e) {
                    if (!this._equalTokens(this._token, e))
                        if (this._token = e, this._clearMarks(), this._token) {
                            if (e.tooltipMarkerRange) {
                                var t = e.tooltipMarkerRange,
                                    n = t.primary,
                                    r = t.secondary;
                                this._markRange(n.start, n.end), r && r.start && this._markRange(r.start, r.end, !0)
                            }
                            this._tooltip.show(this._getTooltipContent(e)), document.body.addEventListener("mouseout", this.onMouseOut, !0)
                        } else this.hide()
                }
            }, {
                key: "setPosition",
                value: function() {
                    this._tooltip.setPos.apply(this._tooltip, arguments)
                }
            }, {
                key: "hide",
                value: function() {
                    document.body.removeEventListener("mouseout", this.onMouseOut, !0), this._clearMarks(), this._token = null, this._tooltip.hide()
                }
            }, {
                key: "_getTooltipContent",
                value: function() {
                    throw new Error("Tooltip content not found")
                }
            }, {
                key: "_equalTokens",
                value: function() {
                    throw new Error("Token comparison function not implemented")
                }
            }, {
                key: "_clearMarks",
                value: function() {
                    this._marks.forEach(function(e) {
                        return e.clear()
                    }), this._marks = []
                }
            }, {
                key: "_markRange",
                value: function(e, t) {
                    var n = arguments.length > 2 && void 0 !== arguments[2] && arguments[2],
                        r = o.a.Pos(e.line, e.pos),
                        a = o.a.Pos(t.line, t.pos),
                        i = "mouseover" + (n ? "Related" : "");
                    this._marks.push(this._codemirror.markText(r, a, {
                        className: s.a[i],
                        startStyle: s.a[i + "Left"],
                        endStyle: s.a[i + "Right"]
                    }))
                }
            }]) && c(t.prototype, n), r && c(t, r), e
        }()).prototype, l = "onMouseOut", p = [a.a], f = Object.getOwnPropertyDescriptor(r.prototype, "onMouseOut"), y = r.prototype, b = {}, Object.keys(f).forEach(function(e) {
            b[e] = f[e]
        }), b.enumerable = !!b.enumerable, b.configurable = !!b.configurable, ("value" in b || b.initializer) && (b.writable = !0), b = p.slice().reverse().reduce(function(e, t) {
            return t(u, l, e) || e
        }, b), y && void 0 !== b.initializer && (b.value = b.initializer ? b.initializer.call(y) : void 0, b.initializer = void 0), void 0 === b.initializer && (Object.defineProperty(u, l, b), b = null), r);
        t.a = h
    },
    "./app/js/components/RegexEditor/MatchIndicator/MatchIndicator.css": function(e, t, n) {
        e.exports = {
            root: "_2owEq",
            debuggerIcon: "_2agPE",
            noMatch: "_2ZM28",
            match: "kN5vh",
            error: "_1QzQK"
        }
    },
    "./app/js/components/RegexEditor/RegexArea/DelimiterSelector.css": function(e, t, n) {
        e.exports = {
            root: "oW_T9",
            delimiterSelector: "_3ZHnv",
            unClickableDelimiter: "oZ_yz",
            centered: "_3bjf5"
        }
    },
    "./app/js/components/RegexEditor/RegexArea/OptionsContainer.css": function(e, t, n) {
        e.exports = {
            root: "_3gUKC",
            options: "_3odKe",
            flagBtn: "_16HX4",
            centered: "_22YEW",
            delimiter: "_3s7QJ"
        }
    },
    "./app/js/components/RegexEditor/RegexArea/RegexArea.css": function(e, t, n) {
        e.exports = {
            inputArea: "_153v9",
            editorFocused: "vyAGb"
        }
    },
    "./app/js/components/RegexEditor/RegexArea/RegexAreaLabel.css": function(e, t, n) {
        e.exports = {
            root: "_2t_G5",
            title: "_2gPyM",
            versionSelector: "_2Phb_",
            tooltip: "ociKa"
        }
    },
    "./app/js/components/RegexEditor/RegexArea/RegexInput.css": function(e, t, n) {
        e.exports = {
            root: "_3kj4K"
        }
    },
    "./app/js/components/RegexEditor/RegexArea/RegexareaTooltip.css": function(e, t, n) {
        e.exports = {
            root: "_9o0kT"
        }
    },
    "./app/js/components/RegexEditor/RegexEditor.css": function(e, t, n) {
        e.exports = {
            regexPlayground: "_1q2k8",
            regexArea: "_3Sqfl",
            switchableArea: "_3933o",
            testStringArea: "_1NmJe"
        }
    },
    "./app/js/components/RegexEditor/RegexEditorPage.css": function(e, t, n) {
        e.exports = {
            root: "Yn9Hf"
        }
    },
    "./app/js/components/RegexEditor/SubstitutionArea/SubstitutionArea.css": function(e, t, n) {
        e.exports = {
            root: "_3nOf6",
            visible: "_1F9Ws",
            inputArea: "_2Jxwe",
            input: "_1VRAc",
            result: "YRRqG"
        }
    },
    "./app/js/components/RegexEditor/SubstitutionArea/SubstitutionArea.js": function(module, __webpack_exports__, __webpack_require__) {
        "use strict";
        var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("./node_modules/react/index.js"),
            react__WEBPACK_IMPORTED_MODULE_0___default = __webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__),
            prop_types__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__("./node_modules/prop-types/index.js"),
            prop_types__WEBPACK_IMPORTED_MODULE_1___default = __webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_1__),
            react_redux__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__("./node_modules/react-redux/es/index.js"),
            classnames__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__("./node_modules/classnames/index.js"),
            classnames__WEBPACK_IMPORTED_MODULE_3___default = __webpack_require__.n(classnames__WEBPACK_IMPORTED_MODULE_3__),
            js_actionCreator_actionCreators__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__("./app/js/actionCreator/actionCreators.js"),
            js_utils_t__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__("./app/js/utils/t.js"),
            js_constants_Flavors__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__("./app/js/constants/Flavors.js"),
            js_constants_Flavors__WEBPACK_IMPORTED_MODULE_6___default = __webpack_require__.n(js_constants_Flavors__WEBPACK_IMPORTED_MODULE_6__),
            js_utils_events__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__("./app/js/utils/events.js"),
            js_utils_decorators__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__("./app/js/utils/decorators/index.js"),
            js_components_utils__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__("./app/js/components/utils/index.js"),
            js_components_CodeMirror_CodeMirror__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__("./app/js/components/CodeMirror/CodeMirror.js"),
            js_constants_AppConstants__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__("./app/js/constants/AppConstants.js"),
            js_parsers_RegexParser_RegexAreaParser__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__("./app/js/parsers/RegexParser/RegexAreaParser.js"),
            js_parsers_SubstitutionParser_SubstitutionParser__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__("./app/js/parsers/SubstitutionParser/SubstitutionParser.js"),
            js_utils_cssDurationToMilliseconds__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__("./app/js/utils/cssDurationToMilliseconds.js"),
            js_styles_variables_animations__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__("./app/js/styles/variables/animations.js"),
            js_styles_variables_animations__WEBPACK_IMPORTED_MODULE_15___default = __webpack_require__.n(js_styles_variables_animations__WEBPACK_IMPORTED_MODULE_15__),
            js_utils_escape__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__("./app/js/utils/escape.js"),
            _SubstitutionInput__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__("./app/js/components/RegexEditor/SubstitutionArea/SubstitutionInput.js"),
            _doSubstitution__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__("./app/js/components/RegexEditor/SubstitutionArea/doSubstitution.js"),
            _doSubstitution__WEBPACK_IMPORTED_MODULE_18___default = __webpack_require__.n(_doSubstitution__WEBPACK_IMPORTED_MODULE_18__),
            _getSubstData__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__("./app/js/components/RegexEditor/SubstitutionArea/getSubstData.js"),
            _SubstitutionArea_css__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__("./app/js/components/RegexEditor/SubstitutionArea/SubstitutionArea.css"),
            _SubstitutionArea_css__WEBPACK_IMPORTED_MODULE_20___default = __webpack_require__.n(_SubstitutionArea_css__WEBPACK_IMPORTED_MODULE_20__),
            _dec, _dec2, _dec3, _class, _class2, _class3, _temp;

        function _typeof(e) {
            return (_typeof = "function" === typeof Symbol && "symbol" === typeof Symbol.iterator ? function(e) {
                return typeof e
            } : function(e) {
                return e && "function" === typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e
            })(e)
        }

        function _classCallCheck(e, t) {
            if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function")
        }

        function _defineProperties(e, t) {
            for (var n = 0; n < t.length; n++) {
                var r = t[n];
                r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(e, r.key, r)
            }
        }

        function _createClass(e, t, n) {
            return t && _defineProperties(e.prototype, t), n && _defineProperties(e, n), e
        }

        function _possibleConstructorReturn(e, t) {
            return !t || "object" !== _typeof(t) && "function" !== typeof t ? _assertThisInitialized(e) : t
        }

        function _assertThisInitialized(e) {
            if (void 0 === e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
            return e
        }

        function _getPrototypeOf(e) {
            return (_getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function(e) {
                return e.__proto__ || Object.getPrototypeOf(e)
            })(e)
        }

        function _inherits(e, t) {
            if ("function" !== typeof t && null !== t) throw new TypeError("Super expression must either be null or a function");
            e.prototype = Object.create(t && t.prototype, {
                constructor: {
                    value: e,
                    writable: !0,
                    configurable: !0
                }
            }), t && _setPrototypeOf(e, t)
        }

        function _setPrototypeOf(e, t) {
            return (_setPrototypeOf = Object.setPrototypeOf || function(e, t) {
                return e.__proto__ = t, e
            })(e, t)
        }

        function _applyDecoratedDescriptor(e, t, n, r, o) {
            var a = {};
            return Object.keys(r).forEach(function(e) {
                a[e] = r[e]
            }), a.enumerable = !!a.enumerable, a.configurable = !!a.configurable, ("value" in a || a.initializer) && (a.writable = !0), a = n.slice().reverse().reduce(function(n, r) {
                return r(e, t, n) || n
            }, a), o && void 0 !== a.initializer && (a.value = a.initializer ? a.initializer.call(o) : void 0, a.initializer = void 0), void 0 === a.initializer && (Object.defineProperty(e, t, a), a = null), a
        }
        var animationTime = Object(js_utils_cssDurationToMilliseconds__WEBPACK_IMPORTED_MODULE_14__.a)(js_styles_variables_animations__WEBPACK_IMPORTED_MODULE_15___default.a.testareaSpeed),
            substParser = new js_parsers_SubstitutionParser_SubstitutionParser__WEBPACK_IMPORTED_MODULE_13__.a,
            SubstitutionArea = (_dec = Object(react_redux__WEBPACK_IMPORTED_MODULE_2__.b)(function(e) {
                return {
                    showSubstitutionArea: e.regexEditor.showSubstitutionArea,
                    wrapLines: e.settings.wrapLines,
                    displayWhitespace: e.settings.displayWhitespace,
                    lineNumbers: e.settings.testAreaLineNumbers,
                    testString: e.regexEditor.testString,
                    flavor: e.regexEditor.flavor,
                    matchResult: e.regexEditor.matchResult,
                    substString: e.regexEditor.substString,
                    hasRegexError: !!e.regexEditor.error,
                    regex: e.regexEditor.regex,
                    flags: e.regexEditor.flags
                }
            }), _dec2 = Object(js_utils_decorators__WEBPACK_IMPORTED_MODULE_8__.b)(js_constants_AppConstants__WEBPACK_IMPORTED_MODULE_11__.f), _dec3 = Object(js_utils_decorators__WEBPACK_IMPORTED_MODULE_8__.b)(200), _dec((_temp = _class3 = function(_Component) {
                function SubstitutionArea() {
                    var e, t;
                    _classCallCheck(this, SubstitutionArea);
                    for (var n = arguments.length, r = new Array(n), o = 0; o < n; o++) r[o] = arguments[o];
                    return (t = _possibleConstructorReturn(this, (e = _getPrototypeOf(SubstitutionArea)).call.apply(e, [this].concat(r))))._resultAreaRef = react__WEBPACK_IMPORTED_MODULE_0___default.a.createRef(), t._animationTimeout = null, t.state = {
                        substString: t.props.substString
                    }, t
                }
                return _inherits(SubstitutionArea, _Component), _createClass(SubstitutionArea, [{
                    key: "componentDidMount",
                    value: function() {
                        js_utils_events__WEBPACK_IMPORTED_MODULE_7__.a.on("flush:state", this._updateStore), this._doSubstitution()
                    }
                }, {
                    key: "componentWillUnmount",
                    value: function() {
                        js_utils_events__WEBPACK_IMPORTED_MODULE_7__.a.off("flush:state", this._updateStore), this._updateStoreDebounced.flush()
                    }
                }, {
                    key: "componentDidUpdate",
                    value: function(e) {
                        (e.testString !== this.props.testString || this.props.matchResult.time > e.matchResult.time || this.props.showSubstitutionArea && !e.showSubstitutionArea) && this._doSubstitution(), e.showSubstitutionArea && !this.props.showSubstitutionArea && (js_utils_events__WEBPACK_IMPORTED_MODULE_7__.a.emit("testarea:hideCanvas"), clearTimeout(this._animationTimeout), this._animationTimeout = setTimeout(function() {
                            return js_utils_events__WEBPACK_IMPORTED_MODULE_7__.a.emit("testarea:showCanvas")
                        }, animationTime))
                    }
                }, {
                    key: "onSubstInput",
                    value: function(e) {
                        this.setState({
                            substString: e
                        }), this._updateStoreDebounced(), this._doSubstitution()
                    }
                }, {
                    key: "_updateStoreDebounced",
                    value: function() {
                        this._updateStore()
                    }
                }, {
                    key: "_updateStore",
                    value: function() {
                        this.props.dispatch(Object(js_actionCreator_actionCreators__WEBPACK_IMPORTED_MODULE_4__.O)(this.state.substString))
                    }
                }, {
                    key: "_doSubstitution",
                    value: function _doSubstitution() {
                        if (null != this._resultAreaRef.current) {
                            var _this$props = this.props,
                                matchResult = _this$props.matchResult,
                                regex = _this$props.regex,
                                flags = _this$props.flags,
                                testString = _this$props.testString,
                                hasRegexError = _this$props.hasRegexError,
                                flavor = _this$props.flavor,
                                skipSubst = null == matchResult.data || null == testString || hasRegexError || null != js_parsers_RegexParser_RegexAreaParser__WEBPACK_IMPORTED_MODULE_12__.a.status;
                            if (null != substParser.status || skipSubst) this._resultAreaRef.current.getInstance().setValue(testString || "");
                            else {
                                var resultString = testString;
                                if (flavor === js_constants_Flavors__WEBPACK_IMPORTED_MODULE_6___default.a.JAVASCRIPT) {
                                    var jsRegex = new RegExp(regex, flags),
                                        safeSubstString = Object(js_utils_escape__WEBPACK_IMPORTED_MODULE_16__.a)(this.state.substString);
                                    resultString = testString.replace(jsRegex, eval("'".concat(safeSubstString, "'")))
                                } else resultString = _doSubstitution__WEBPACK_IMPORTED_MODULE_18___default()(matchResult.data, testString, function(e) {
                                    return Object(_getSubstData__WEBPACK_IMPORTED_MODULE_19__.a)(substParser.tokens, js_parsers_RegexParser_RegexAreaParser__WEBPACK_IMPORTED_MODULE_12__.a.captureGroupMap, matchResult.data, e)
                                });
                                this._resultAreaRef.current.getInstance().setValue(resultString || "")
                            }
                        }
                    }
                }, {
                    key: "render",
                    value: function() {
                        var e = this.props,
                            t = e.showSubstitutionArea,
                            n = e.wrapLines,
                            r = e.displayWhitespace,
                            o = e.lineNumbers,
                            a = e.hasRegexError,
                            i = e.flavor,
                            s = e.regex,
                            c = e.testString;
                        return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", {
                            className: classnames__WEBPACK_IMPORTED_MODULE_3___default()(_SubstitutionArea_css__WEBPACK_IMPORTED_MODULE_20___default.a.root, t && _SubstitutionArea_css__WEBPACK_IMPORTED_MODULE_20___default.a.visible)
                        }, t && react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(react__WEBPACK_IMPORTED_MODULE_0___default.a.Fragment, null, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(js_components_utils__WEBPACK_IMPORTED_MODULE_9__.k, {
                            text: Object(js_utils_t__WEBPACK_IMPORTED_MODULE_5__.a)("Substitution")
                        }), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", {
                            className: _SubstitutionArea_css__WEBPACK_IMPORTED_MODULE_20___default.a.inputArea
                        }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_SubstitutionInput__WEBPACK_IMPORTED_MODULE_17__.a, {
                            onSubstInput: this.onSubstInput,
                            substString: this.state.substString,
                            regex: s,
                            testString: c,
                            regexParser: js_parsers_RegexParser_RegexAreaParser__WEBPACK_IMPORTED_MODULE_12__.a,
                            substParser: substParser,
                            flavor: i,
                            hasRegexError: a,
                            className: _SubstitutionArea_css__WEBPACK_IMPORTED_MODULE_20___default.a.input
                        }), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(js_components_CodeMirror_CodeMirror__WEBPACK_IMPORTED_MODULE_10__.a, {
                            className: _SubstitutionArea_css__WEBPACK_IMPORTED_MODULE_20___default.a.result,
                            ref: this._resultAreaRef,
                            options: {
                                mode: null,
                                lineWrapping: n,
                                readOnly: !0,
                                showWhitespace: r,
                                lineNumbers: o
                            },
                            defaultValue: ""
                        }))))
                    }
                }]), SubstitutionArea
            }(react__WEBPACK_IMPORTED_MODULE_0__.Component), _class3.propTypes = {
                dispatch: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.func.isRequired,
                showSubstitutionArea: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.bool.isRequired,
                wrapLines: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.bool.isRequired,
                displayWhitespace: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.bool.isRequired,
                lineNumbers: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.bool.isRequired,
                regex: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.string.isRequired,
                flags: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.string.isRequired,
                flavor: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.string.isRequired,
                hasRegexError: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.bool.isRequired,
                substString: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.string.isRequired,
                matchResult: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.object.isRequired,
                testString: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.string.isRequired
            }, _class2 = _temp, _applyDecoratedDescriptor(_class2.prototype, "onSubstInput", [js_utils_decorators__WEBPACK_IMPORTED_MODULE_8__.a], Object.getOwnPropertyDescriptor(_class2.prototype, "onSubstInput"), _class2.prototype), _applyDecoratedDescriptor(_class2.prototype, "_updateStoreDebounced", [_dec2], Object.getOwnPropertyDescriptor(_class2.prototype, "_updateStoreDebounced"), _class2.prototype), _applyDecoratedDescriptor(_class2.prototype, "_updateStore", [js_utils_decorators__WEBPACK_IMPORTED_MODULE_8__.a], Object.getOwnPropertyDescriptor(_class2.prototype, "_updateStore"), _class2.prototype), _applyDecoratedDescriptor(_class2.prototype, "_doSubstitution", [_dec3], Object.getOwnPropertyDescriptor(_class2.prototype, "_doSubstitution"), _class2.prototype), _class = _class2)) || _class);
        __webpack_exports__.a = SubstitutionArea
    },
    "./app/js/components/RegexEditor/SubstitutionArea/SubstitutionInput.css": function(e, t, n) {
        e.exports = {
            input: "_3XpV0",
            editorFocused: "_3Y4Re"
        }
    },
    "./app/js/components/RegexEditor/SubstitutionArea/SubstitutionInput.js": function(e, t, n) {
        "use strict";
        var r = n("./node_modules/react/index.js"),
            o = n.n(r),
            a = n("./node_modules/prop-types/index.js"),
            i = n.n(a),
            s = n("./node_modules/react-dom/index.js"),
            c = n("./node_modules/react-redux/es/index.js"),
            u = n("./node_modules/classnames/index.js"),
            l = n.n(u),
            p = n("./app/js/utils/t.js"),
            f = n("./app/js/utils/events.js"),
            y = n("./app/js/utils/decorators/index.js"),
            b = n("./app/js/components/CodeMirror/CodeMirror.js"),
            h = n("./app/js/constants/TabIndex.js"),
            d = n("./app/js/components/RegexEditor/EditorTooltip/EditorTooltip.js"),
            m = n("./app/js/constants/RegexTypes.js"),
            g = n("./app/js/components/RegexEditor/EditorTooltip/RegexTooltipHelper.js");

        function v(e) {
            return (v = "function" === typeof Symbol && "symbol" === typeof Symbol.iterator ? function(e) {
                return typeof e
            } : function(e) {
                return e && "function" === typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e
            })(e)
        }

        function _(e, t) {
            for (var n = 0; n < t.length; n++) {
                var r = t[n];
                r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(e, r.key, r)
            }
        }

        function O(e, t) {
            return !t || "object" !== v(t) && "function" !== typeof t ? function(e) {
                if (void 0 === e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
                return e
            }(e) : t
        }

        function j(e) {
            return (j = Object.setPrototypeOf ? Object.getPrototypeOf : function(e) {
                return e.__proto__ || Object.getPrototypeOf(e)
            })(e)
        }

        function w(e, t) {
            return (w = Object.setPrototypeOf || function(e, t) {
                return e.__proto__ = t, e
            })(e, t)
        }
        var k, E, S, x, C = function(e) {
                function t() {
                    return function(e, t) {
                        if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function")
                    }(this, t), O(this, j(t).apply(this, arguments))
                }
                var n, r, o;
                return function(e, t) {
                    if ("function" !== typeof t && null !== t) throw new TypeError("Super expression must either be null or a function");
                    e.prototype = Object.create(t && t.prototype, {
                        constructor: {
                            value: e,
                            writable: !0,
                            configurable: !0
                        }
                    }), t && w(e, t)
                }(t, g["a"]), n = t, (r = [{
                    key: "selectToken",
                    value: function(e) {
                        null == e || e.type !== m.M ? g.a.prototype.selectToken.apply(this, arguments) : this.hide()
                    }
                }]) && _(n.prototype, r), o && _(n, o), t
            }(),
            P = n("./app/js/components/RegexEditor/SubstitutionArea/SubstitutionInput.css"),
            T = n.n(P);

        function R(e) {
            return (R = "function" === typeof Symbol && "symbol" === typeof Symbol.iterator ? function(e) {
                return typeof e
            } : function(e) {
                return e && "function" === typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e
            })(e)
        }

        function N(e, t) {
            for (var n = 0; n < t.length; n++) {
                var r = t[n];
                r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(e, r.key, r)
            }
        }

        function M(e, t) {
            return !t || "object" !== R(t) && "function" !== typeof t ? function(e) {
                if (void 0 === e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
                return e
            }(e) : t
        }

        function A(e) {
            return (A = Object.setPrototypeOf ? Object.getPrototypeOf : function(e) {
                return e.__proto__ || Object.getPrototypeOf(e)
            })(e)
        }

        function I(e, t) {
            return (I = Object.setPrototypeOf || function(e, t) {
                return e.__proto__ = t, e
            })(e, t)
        }

        function L(e, t, n, r, o) {
            var a = {};
            return Object.keys(r).forEach(function(e) {
                a[e] = r[e]
            }), a.enumerable = !!a.enumerable, a.configurable = !!a.configurable, ("value" in a || a.initializer) && (a.writable = !0), a = n.slice().reverse().reduce(function(n, r) {
                return r(e, t, n) || n
            }, a), o && void 0 !== a.initializer && (a.value = a.initializer ? a.initializer.call(o) : void 0, a.initializer = void 0), void 0 === a.initializer && (Object.defineProperty(e, t, a), a = null), a
        }
        var D = Object(c.b)(function(e) {
            return {
                colorizeSyntax: e.settings.colorizeSyntax,
                editorTooltips: e.settings.editorTooltips,
                wrapLines: e.settings.wrapLines,
                displayWhitespace: e.settings.displayWhitespace,
                lineNumbers: e.settings.testAreaLineNumbers
            }
        })((x = S = function(e) {
            function t() {
                var e, n;
                ! function(e, t) {
                    if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function")
                }(this, t);
                for (var r = arguments.length, a = new Array(r), i = 0; i < r; i++) a[i] = arguments[i];
                return (n = M(this, (e = A(t)).call.apply(e, [this].concat(a)))).state = {
                    editorFocused: !1
                }, n._editorRef = o.a.createRef(), n._tooltipRef = o.a.createRef(), n._parent = null, n._tooltipHelper = null, n
            }
            var n, a, i;
            return function(e, t) {
                if ("function" !== typeof t && null !== t) throw new TypeError("Super expression must either be null or a function");
                e.prototype = Object.create(t && t.prototype, {
                    constructor: {
                        value: e,
                        writable: !0,
                        configurable: !0
                    }
                }), t && I(e, t)
            }(t, r["PureComponent"]), n = t, (a = [{
                key: "componentDidMount",
                value: function() {
                    this._codeMirror = this._editorRef.current.getInstance(), this._tooltipHelper = new C(this._tooltipRef.current, this._codeMirror), this._parent = Object(s.findDOMNode)(this).parentNode, this._parent.addEventListener("mousemove", this.onMouseMove, !0), this._codeMirror.on("beforeChange", this.onBeforeChange), f.a.on({
                        "set:substString": this.onSetSubstString
                    }), this._updateEditor()
                }
            }, {
                key: "componentWillUnmount",
                value: function() {
                    f.a.off({
                        "set:substString": this.onSetSubstString
                    }), this._parent.removeEventListener("mousemove", this.onMouseMove, !0), this._codeMirror.off("beforeChange", this.onBeforeChange), this._tooltipHelper.destroy()
                }
            }, {
                key: "componentDidUpdate",
                value: function(e) {
                    var t = this.props,
                        n = t.colorizeSyntax,
                        r = t.regex,
                        o = t.flavor;
                    (null != r && e.regex !== r || e.colorizeSyntax !== n || e.flavor !== o) && (this._updateEditor(), this._tooltipHelper.hide())
                }
            }, {
                key: "_updateEditor",
                value: function() {
                    this._tooltipHelper.hide();
                    var e = this.props,
                        t = e.regexParser,
                        n = e.substParser,
                        r = e.flavor,
                        o = e.onSubstInput,
                        a = e.colorizeSyntax,
                        i = {
                            flavor: r,
                            subpatterns: t.subpatterns,
                            captureGroupCount: t.captureGroupCount,
                            editor: this._codeMirror
                        };
                    n.parse(this._codeMirror.getValue(), i), a ? n.paint(this._codeMirror) : n.clearPaint(this._codeMirror), o(this._codeMirror.getValue())
                }
            }, {
                key: "_getCodemirrorOptions",
                value: function() {
                    var e = this.props,
                        t = e.onEnterClick,
                        n = e.displayWhitespace;
                    return {
                        mode: null,
                        placeholder: Object(p.a)("insert your replacement value here"),
                        tabSize: 4,
                        tabindex: h.c,
                        extraKeys: {
                            "Shift-Tab": !1,
                            Enter: t || !1
                        },
                        showWhitespace: n
                    }
                }
            }, {
                key: "onSubstInput",
                value: function() {
                    null != this._codeMirror && this._updateEditor()
                }
            }, {
                key: "onBeforeChange",
                value: function(e, t) {
                    if (t.update) {
                        var n = t.text.join("").replace(/[\r\n]/g, "");
                        t.update(t.from, t.to, [n])
                    }
                    return !0
                }
            }, {
                key: "onFocusChange",
                value: function(e) {
                    this.setState({
                        editorFocused: e
                    })
                }
            }, {
                key: "onSetSubstString",
                value: function(e, t) {
                    this._codeMirror.setValue(t)
                }
            }, {
                key: "onMouseMove",
                value: function(e) {
                    var t = this.props,
                        n = t.editorTooltips,
                        r = t.substParser;
                    if (n) {
                        var o = this._editorRef.current.getCharIndexAt(e.clientX, e.clientY + window.pageYOffset),
                            a = r.getTokenAtPos(o);
                        this._tooltipHelper.selectToken(a);
                        var i = this._editorRef.current.getCharRect(o);
                        i && this._tooltipHelper.setPosition(e.clientX, i.top)
                    }
                }
            }, {
                key: "render",
                value: function() {
                    var e = this.props,
                        t = e.substString,
                        n = e.className;
                    return o.a.createElement(r.Fragment, null, o.a.createElement(b.a, {
                        ref: this._editorRef,
                        className: l()(T.a.input, this.state.editorFocused && T.a.editorFocused, n),
                        onChange: this.onSubstInput,
                        onFocusChange: this.onFocusChange,
                        options: this._getCodemirrorOptions(),
                        defaultValue: t
                    }), o.a.createElement(d.a, {
                        ref: this._tooltipRef
                    }))
                }
            }]) && N(n.prototype, a), i && N(n, i), t
        }(), S.propTypes = {
            colorizeSyntax: i.a.bool.isRequired,
            hasRegexError: i.a.bool.isRequired,
            flavor: i.a.string.isRequired,
            substString: i.a.string.isRequired,
            regex: i.a.string.isRequired,
            editorTooltips: i.a.bool.isRequired,
            wrapLines: i.a.bool.isRequired,
            displayWhitespace: i.a.bool.isRequired,
            lineNumbers: i.a.bool.isRequired,
            onSubstInput: i.a.func.isRequired,
            substParser: i.a.object.isRequired,
            regexParser: i.a.object.isRequired,
            testString: i.a.string,
            className: i.a.string,
            onEnterClick: i.a.func
        }, L((E = x).prototype, "_getCodemirrorOptions", [y.a], Object.getOwnPropertyDescriptor(E.prototype, "_getCodemirrorOptions"), E.prototype), L(E.prototype, "onSubstInput", [y.a], Object.getOwnPropertyDescriptor(E.prototype, "onSubstInput"), E.prototype), L(E.prototype, "onFocusChange", [y.a], Object.getOwnPropertyDescriptor(E.prototype, "onFocusChange"), E.prototype), L(E.prototype, "onSetSubstString", [y.a], Object.getOwnPropertyDescriptor(E.prototype, "onSetSubstString"), E.prototype), L(E.prototype, "onMouseMove", [y.a], Object.getOwnPropertyDescriptor(E.prototype, "onMouseMove"), E.prototype), k = E)) || k;
        t.a = D
    },
    "./app/js/components/RegexEditor/SubstitutionArea/doSubstitution.js": function(e, t) {
        e.exports = function(e, t, n) {
            for (var r = [], o = t, a = 0, i = e.length; a < i; a++) {
                var s = e[a],
                    c = Math.min(s[0].start, s[0].end),
                    u = Math.max(s[0].start, s[0].end);
                r.push({
                    start: c,
                    end: u,
                    data: n(a)
                })
            }
            for (var l = r.length - 1; l >= 0; l--) {
                var p = r[l];
                o = o.slice(0, p.start) + p.data + o.slice(p.end)
            }
            return o
        }
    },
    "./app/js/components/RegexEditor/SubstitutionArea/getSubstData.js": function(e, t, n) {
        "use strict";
        n.d(t, "a", function() {
            return o
        });
        var r = n("./app/js/constants/RegexTypes.js");

        function o(e, t, n, o) {
            for (var a = "", i = 0, s = e.length; i < s; i++) {
                var c = e[i];
                if (c.type === r.B || c.type === r.r || c.type === r.Z || c.type === r.u || c.type === r.J) a += l(c.state, String.fromCodePoint(c.charCode));
                else if (c.type === r.I || c.type === r.D) {
                    var u = c.reference;
                    /^\d+$/.test(c.reference) || null == t || (u = t[c.reference]), n[o][u] && (a += l(c.state, n[o][u].content))
                } else c.type !== r.S && c.type !== r.p && (a += l(c.state, c.string))
            }
            return a;

            function l(e) {
                var t = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : "";
                return e.lowercase ? t.toLowerCase() : e.uppercase ? t.toUpperCase() : t
            }
        }
    },
    "./app/js/components/RegexEditor/TestArea/RegexCanvas.css": function(e, t, n) {
        e.exports = {
            canvas: "_1VqDL",
            hidden: "_2tBcn"
        }
    },
    "./app/js/components/RegexEditor/TestArea/TestArea.css": function(e, t, n) {
        e.exports = {
            root: "_3KtAM",
            input: "_3o7og",
            inputArea: "_137ys",
            substitutionVisible: "_2ppk4",
            caret: "_2-xT8",
            editorFocused: "avDSY"
        }
    },
    "./app/js/components/RegexEditor/TestArea/TestareaTooltip.css": function(e, t, n) {
        e.exports = {
            root: "_2kpkU",
            match: "_2xpba",
            group: "FQywL"
        }
    },
    "./app/js/components/RegexEditor/UnitTestArea/TestController.css": function(e, t, n) {
        e.exports = {
            root: "_1XLdQ",
            progress: "arZSn",
            buttons: "_3JLA2",
            left: "_127pT",
            right: "_2sSVF",
            addTest: "MpubT"
        }
    },
    "./app/js/components/RegexEditor/UnitTestArea/TestDetails.css": function(e, t, n) {
        e.exports = {
            details: "_5P_w1",
            detailsTable: "_3xIXc",
            tableText: "jPlW3",
            testString: "_1MCf_",
            compareString: "nVZMi",
            target: "_2Hx15",
            criteria: "J7ltu",
            error: "_3MUfd"
        }
    },
    "./app/js/components/RegexEditor/UnitTestArea/TestList.css": function(e, t, n) {
        e.exports = {
            root: "AFrWI"
        }
    },
    "./app/js/components/RegexEditor/UnitTestArea/TestListItem.css": function(e, t, n) {
        e.exports = {
            testRowParent: "R83Rs",
            header: "_2fx96",
            testRow: "_2nJ2O",
            activeTest: "_3jwHm",
            tools: "_315lm",
            icon: "iicbA",
            body: "_1lbZu",
            caret: "_3EU12",
            description: "_3xVk2",
            metaData: "_1jKwT",
            metadataDetails: "_1tGyX",
            disabled: "_1apFr",
            delete: "_3LHq1",
            move: "_2BZ24",
            edit: "_3Xusp",
            fail: "_1A4wV",
            pass: "JGIkP"
        }
    },
    "./app/js/components/RegexEditor/UnitTestArea/TestListUtils.css": function(e, t, n) {
        e.exports = {
            button: "_3pyiG"
        }
    },
    "./app/js/components/RegexEditor/UnitTestArea/UnitTestArea.css": function(e, t, n) {
        e.exports = {
            root: "_1R9n5",
            testingArea: "_2Px-L",
            caret: "_26rcH",
            label: "_3iOKr"
        }
    },
    "./app/js/components/RegexExplainer/RegexExplainer.css": function(e, t, n) {
        e.exports = {
            groupLabel: "_1-NVk",
            tokenExplanation: "WVzuP",
            nodeLabel: "_8uUO3",
            boldNodeLabel: "_2pDcO",
            token: "_2EVlr"
        }
    },
    "./app/js/components/RegexExplainer/RegexLabel.css": function(e, t, n) {
        e.exports = {
            root: "tUney",
            regex: "_1gy8R",
            delimiter: "_3XIyS",
            first: "vttQq",
            last: "xuMhS",
            flags: "_16lz9"
        }
    },
    "./app/js/components/RegexLibrary/EntryDescription.css": function(e, t, n) {
        e.exports = {
            entryDesc: "_1Q1g6",
            root: "iUnqq",
            author: "_2AgWL",
            noDescription: "_373sH",
            authorAndDate: "_3N4F9"
        }
    },
    "./app/js/components/RegexLibrary/EntryRegex.css": function(e, t, n) {
        e.exports = {
            flavor: "_21JOT",
            regexLink: "_2UWIq",
            regexLinkIcon: "UBh7G"
        }
    },
    "./app/js/components/RegexLibrary/LibraryDetails.css": function(e, t, n) {
        e.exports = {
            libraryEntry: "_1qO0W"
        }
    },
    "./app/js/components/RegexLibrary/LibraryEntry.css": function(e, t, n) {
        e.exports = {
            root: "_7ut9t",
            entryButton: "_3O_W5",
            voteButton: "kBEEc",
            title: "_1Fgo7",
            flavor: "_3Sgdx",
            clear: "_1H0MF",
            description: "_3y074",
            dateAndAuthor: "vIEfC",
            noDescription: "_2_E0a",
            author: "_8-zIX"
        }
    },
    "./app/js/components/RegexLibrary/RegexLibrary.css": function(e, t, n) {
        e.exports = {
            wrapper: "_2taXp",
            entries: "_3V-Dj",
            isFetchingData: "_22K9w",
            error: "_3cLWh",
            label: "_198Nl",
            dataContainer: "_3D6uo",
            searchInput: "_1SOM_",
            paginator: "_3LREV",
            libraryEntry: "_22Plj"
        }
    },
    "./app/js/components/RegexLibrary/VoteButton.css": function(e, t, n) {
        e.exports = {
            root: "_1VZL2",
            votebutton: "_3S4TM",
            disabled: "_2J883",
            score: "_26xaw",
            hasVoted: "_3hI8I",
            upvote: "_2XJS1",
            downvote: "LH03c"
        }
    },
    "./app/js/components/RightSidebar/CollapsableElement.css": function(e, t, n) {
        e.exports = {
            contentArea: "_3Jyur",
            titleBtn: "EEcFf",
            content: "_1Rgjl",
            shrinkArea: "_2xW8_",
            resizable: "_2dnUC"
        }
    },
    "./app/js/components/RightSidebar/CollapsableRightSidebar.css": function(e, t, n) {
        e.exports = {
            sidebar: "Ni9Cw",
            menuHamburgerParent: "n6poF",
            collapsedSidebar: "zEZfA",
            sidebarBackdrop: "_2wUAR",
            enter: "fjqdv",
            enterActive: "_1bJiU",
            leave: "Cm0jJ",
            leaveActive: "X83jc",
            menuHamburger: "_39veZ"
        }
    },
    "./app/js/components/RightSidebar/CompactElement.css": function(e, t, n) {
        e.exports = {
            root: "opIXm",
            innerContents: "_2VNle",
            label: "_3vjVa"
        }
    },
    "./app/js/components/RightSidebar/Content/Explanation.css": function(e, t, n) {
        e.exports = {
            errorContainer: "_3Atez",
            root: "_2DSo9",
            errorRegex: "_3kxhh"
        }
    },
    "./app/js/components/RightSidebar/Content/ExportMatchButton.css": function(e, t, n) {
        e.exports = {
            exportMatch: "_1lgG7",
            root: "_3P-pT"
        }
    },
    "./app/js/components/RightSidebar/Content/MatchGroup.css": function(e, t, n) {
        e.exports = {
            matchData: "_2ToZm",
            textTruncated: "_32pcG",
            didNotParticipate: "_1sN0f",
            groupNum: "_1Rb6E",
            clickable: "_1-zwP",
            matchPos: "_3b_n0"
        }
    },
    "./app/js/components/RightSidebar/Content/MatchGroups.css": function(e, t, n) {
        e.exports = {
            matchHeader: "_1otrH",
            contentWrapper: "_1jXGv",
            matchTable: "_1FQdv"
        }
    },
    "./app/js/components/RightSidebar/Content/MatchInfo.css": function(e, t, n) {
        e.exports = {
            matchResult: "zdEpU",
            noGroupsExplain: "_2MZ2_",
            loadMoreButton: "_1VujO",
            debuggerLink: "WCREb",
            noMatch: "_1XfJW"
        }
    },
    "./app/js/components/RightSidebar/Content/Placeholder.css": function(e, t, n) {
        e.exports = {
            root: "_3nvRC"
        }
    },
    "./app/js/components/RightSidebar/Content/Quickref.css": function(e, t, n) {
        e.exports = {
            root: "_3kyJ0",
            content: "_2M3yW",
            navigation: "_3Wa2V",
            spacer: "_3VUam",
            listItem: "_1qtkm",
            search: "_2xfGV"
        }
    },
    "./app/js/components/RightSidebar/Content/QuickrefData.css": function(e, t, n) {
        e.exports = {
            group0: "_2jao4",
            group1: "x7RS6",
            group2: "_3AHYg",
            group3: "_1usl_"
        }
    },
    "./app/js/components/RightSidebar/Content/QuickrefDetails.css": function(e, t, n) {
        e.exports = {
            opacityContainer: "_3_7Yw",
            quickrefDetails: "nA-X6",
            label: "_395qN",
            details: "_1LfNh",
            tokenExplanation: "_3DBLs",
            regexExample: "_3CabL",
            explanationText: "_2-vog",
            token: "_31owU",
            regex: "izmGH",
            regexMatch: "_1KCPl",
            resetFont: "_1ov83",
            closeDetails: "_2y_fO",
            enter: "_38czY",
            enterActive: "_3Ru9j",
            leave: "_3a4HC",
            leaveActive: "_5DIiP"
        }
    },
    "./app/js/components/RightSidebar/RightSidebar.css": function(e, t, n) {
        e.exports = {
            root: "_1Eaxs",
            resizer: "_2VrEH"
        }
    },
    "./app/js/components/RightSidebar/SubsectionMenu.css": function(e, t, n) {
        e.exports = {
            root: "_1pUMO",
            iconBtn: "dX4HD",
            iconBtnTheme: "_26KsJ",
            active: "_3qXjK"
        }
    },
    "./app/js/components/SettingsPage/Setting.css": function(e, t, n) {
        e.exports = {
            setting: "_3b3Dn"
        }
    },
    "./app/js/components/SettingsPage/SettingsGroup.css": function(e, t, n) {
        e.exports = {
            settingsGroup: "_2j-XE"
        }
    },
    "./app/js/components/SettingsPage/SettingsPage.css": function(e, t, n) {
        e.exports = {
            saveButton: "_2BYw1",
            root: "_1qnKZ",
            spaceUnder: "_3hmiP",
            saveIndicator: "_61kfP",
            saveLeave: "_2HYS1",
            saveLeaveActive: "_1k0jt",
            content: "_3l3rk"
        }
    },
    "./app/js/components/TabView/TabView.css": function(e, t, n) {
        e.exports = {
            root: "IlTgH",
            toolbar: "SulfS",
            tab: "_3O5cQ",
            active: "_3nIpK"
        }
    },
    "./app/js/components/TreeView/TreeView.css": function(e, t, n) {
        e.exports = {
            treeviewArrow: "_1aBlp",
            collapsed: "_2C6Ew",
            treeview: "R5C_f",
            treeviewLabel: "_3S8bD",
            treeviewChildren: "gNOnH",
            treeviewArrowContainer: "_3k2EX"
        }
    },
    "./app/js/components/utils/Button.css": function(e, t, n) {
        e.exports = {
            okButton: "l6dlI",
            cancelButton: "_2tjvH",
            dangerButton: "sN8Hm",
            executeButton: "FB5gS",
            disabled: "_2OFmV"
        }
    },
    "./app/js/components/utils/CollapsableLabel.css": function(e, t, n) {
        e.exports = {
            root: "_2YMI3",
            toggle: "_3v_zA"
        }
    },
    "./app/js/components/utils/ContentWithHeader.css": function(e, t, n) {
        e.exports = {
            parent: "_3gSSf",
            header: "_3h7q5",
            contentWrapper: "_1UjST",
            content: "_1VXTL"
        }
    },
    "./app/js/components/utils/CopyButton.css": function(e, t, n) {
        e.exports = {
            copyBtn: "_1_C6l",
            icon: "_2jUWO"
        }
    },
    "./app/js/components/utils/DebuggerLink.js": function(e, t, n) {
        "use strict";
        var r = n("./node_modules/react/index.js"),
            o = n.n(r),
            a = n("./node_modules/prop-types/index.js"),
            i = n.n(a),
            s = n("./node_modules/react-redux/es/index.js"),
            c = n("./app/js/constants/Flavors.js"),
            u = n.n(c),
            l = n("./app/js/components/utils/index.js"),
            p = n("./app/js/utils/urlHelpers.js"),
            f = n("./app/js/utils/decorators/index.js"),
            y = function(e) {
                var t = e.className,
                    n = e.flavor,
                    r = e.location,
                    a = e.children;
                return n !== u.a.PCRE ? null : o.a.createElement(l.l, {
                    to: {
                        pathname: Object(p.b)("".concat(r.pathname, "/debugger")),
                        state: {
                            returnTo: r,
                            isFullscreen: !0
                        }
                    },
                    className: t
                }, a)
            };
        y.propTypes = {
            className: i.a.string,
            flavor: i.a.string.isRequired,
            location: i.a.object.isRequired,
            children: i.a.node.isRequired
        };
        t.a = Object(f.f)(Object(s.b)(function(e) {
            return {
                flavor: e.regexEditor.flavor
            }
        })(y))
    },
    "./app/js/components/utils/Disqus.css": function(e, t, n) {
        e.exports = {
            disqus: "SjiMD"
        }
    },
    "./app/js/components/utils/FloatingButton.css": function(e, t, n) {
        e.exports = {
            root: "_2gP1k"
        }
    },
    "./app/js/components/utils/Icon.css": function(e, t, n) {
        e.exports = {
            "rotate-90": "_3Zdwl",
            icon: "kztpV",
            "icon-help-circled": "_38Blf",
            "icon-down-dir": "_1dTmG",
            "icon-bold": "_1UyHA",
            "icon-italic": "sqV3K",
            "icon-cancel-circled": "NLyJl",
            "icon-heart": "_32C6h",
            "icon-pencil": "a9Yt5",
            "icon-edit": "_3Woij",
            "icon-lock": "c33du",
            "icon-lock-open": "_32j5g",
            "icon-flag": "MyHSu",
            "icon-up-dir": "_2O_Kf",
            "icon-left-dir": "_2KqSd",
            "icon-right-dir": "ryfpM",
            "icon-cancel": "_1ke_7",
            "icon-export": "_1m-Sb",
            "icon-ok": "_3Q1D2",
            "icon-folder-open": "_3xSzs",
            "icon-folder": "UChqa",
            "icon-login": "HcWAI",
            "icon-logout": "GckaX",
            "icon-book": "-pk71",
            "icon-star": "_2PhH6",
            "icon-wrench": "_3VvpC",
            "icon-chat": "_1wjsZ",
            "icon-link": "_31P8O",
            "icon-play": "_3QOjL",
            "icon-pause": "_3hd9y",
            "icon-fast-bw": "_3reUQ",
            "icon-fast-fw": "_3L-Lk",
            "icon-to-start": "_31bDE",
            "icon-to-end": "_3YmEm",
            "icon-asterisk": "lLtlJ",
            "icon-signal": "MLM6y",
            "icon-calendar": "_3qvfZ",
            "icon-cw": "_2vEc-",
            "icon-floppy": "zfYzP",
            "icon-scissors": "Xf7v5",
            "icon-th-large": "_2VIGX",
            "icon-upload": "X9wFy",
            "icon-user": "_24twB",
            "icon-info-circled": "_3sgOC",
            "icon-home": "LBIcc",
            "icon-angle-up": "Yb_kX",
            "icon-angle-right": "j5ZBQ",
            "icon-angle-left": "_1I_fQ",
            "icon-angle-down": "_2ARzF",
            "icon-link-ext": "_1Kkt_",
            "icon-twitter": "_1-cub",
            "icon-menu": "_30BBK",
            "icon-list-bullet": "_1VlSi",
            "icon-list-numbered": "_3ztwJ",
            "icon-sort": "_3hW-4",
            "icon-sitemap": "_1ILRj",
            "icon-paste": "I2hYN",
            "icon-upload-cloud": "ugLV8",
            "icon-doc-text": "_2LP_k",
            "icon-quote-left": "_3E-4R",
            "icon-github": "_3zkKr",
            "icon-gamepad": "_18AVo",
            "icon-code": "_2V_Bb",
            "icon-fork": "_3kAEL",
            "icon-anchor": "_66uNe",
            "icon-ellipsis-vert": "-jCun",
            "icon-level-down": "_2-qmj",
            "icon-dollar": "_2pWui",
            "icon-sort-alt-up": "_3s5Fv",
            "icon-sort-alt-down": "Wrd9o",
            "icon-sort-number-up": "_3O-uv",
            "icon-sort-number-down": "_1K23x",
            "icon-bug": "_2ZuG8",
            "icon-dot-circled": "_2ceKL",
            "icon-bank": "_2-Op2",
            "icon-google": "_3hyj2",
            "icon-database": "_2Kabi",
            "icon-file-excel": "VnRHY",
            "icon-file-code": "WdDiJ",
            "icon-lifebuoy": "Gtw4X",
            "icon-paper-plane": "Km9ZA",
            "icon-history": "_161xQ",
            "icon-header": "_2LB5_",
            "icon-trash": "lU4vK",
            "icon-user-secret": "IP4j3",
            "icon-twitter-squared": "t6LQ_"
        }
    },
    "./app/js/components/utils/IconButton.css": function(e, t, n) {
        e.exports = {
            iconButton: "_3LSQH",
            childElement: "_2l_ud"
        }
    },
    "./app/js/components/utils/Label.css": function(e, t, n) {
        e.exports = {
            root: "_2pcE6",
            small: "_2tmCK",
            medium: "_1OeFZ",
            large: "_3jgeA",
            overflow: "_1XK4v"
        }
    },
    "./app/js/components/utils/Link.css": function(e, t, n) {
        e.exports = {
            link: "_1sfyy",
            theme: "_2sp9O"
        }
    },
    "./app/js/components/utils/MultiLabel.css": function(e, t, n) {
        e.exports = {
            root: "_3EU8D",
            farRight: "_3Teag"
        }
    },
    "./app/js/components/utils/Notice.css": function(e, t, n) {
        e.exports = {
            error: "fLJZ_",
            warn: "_3JFoM",
            info: "_2Rmk5"
        }
    },
    "./app/js/components/utils/Spinner.css": function(e, t, n) {
        e.exports = {
            loading: "_3nhlt",
            large: "koxUQ",
            medium: "_16SPx",
            small: "_1BsCf",
            tiny: "_13WlT"
        }
    },
    "./app/js/components/utils/TextInput/LengthCounter.css": function(e, t, n) {
        e.exports = {
            lengthCounter: "_2jhF6",
            singleLine: "Q6WOz"
        }
    },
    "./app/js/components/utils/TextInput/TextInput.css": function(e, t, n) {
        e.exports = {
            wrapper: "_1ZKL5",
            invalidInput: "_1DNyT",
            shake: "_3UjzX",
            input: "_2AEZR",
            codeInput: "_29pkB",
            copyInput: "M1hOK",
            copyButton: "_3vrPs",
            readOnly: "_2EmCh",
            focus: "_1c-zO",
            error: "_1WgMq"
        }
    },
    "./app/js/components/utils/Tooltipped.css": function(e, t, n) {
        e.exports = {
            portal: "INu3_",
            tooltipped: "_1GFDU",
            "tooltipped-s": "_3fItE",
            "tooltipped-se": "_1mree",
            "tooltipped-sw": "LUAYR",
            "tooltipped-n": "_1UZcE",
            "tooltipped-ne": "nuGR8",
            "tooltipped-nw": "_2HlM2",
            "tooltipped-w": "_2H4gZ",
            "tooltipped-e": "_1LbEV",
            multiline: "_1BQIg",
            "tooltipped-sticky": "_1uig9",
            enter: "_2cBLx",
            enterActive: "_10-El",
            leave: "_2KWAs",
            leaveActive: "_3GwHq"
        }
    },
    "./app/js/components/utils/index.js": function(e, t, n) {
        "use strict";
        var r = n("./node_modules/react/index.js"),
            o = n.n(r),
            a = n("./node_modules/prop-types/index.js"),
            i = n.n(a),
            s = n("./node_modules/classnames/index.js"),
            c = n.n(s),
            u = n("./app/js/components/utils/props/index.js"),
            l = n("./app/js/components/utils/Label.css"),
            p = n.n(l);

        function f(e) {
            return (f = "function" === typeof Symbol && "symbol" === typeof Symbol.iterator ? function(e) {
                return typeof e
            } : function(e) {
                return e && "function" === typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e
            })(e)
        }

        function y() {
            return (y = Object.assign || function(e) {
                for (var t = 1; t < arguments.length; t++) {
                    var n = arguments[t];
                    for (var r in n) Object.prototype.hasOwnProperty.call(n, r) && (e[r] = n[r])
                }
                return e
            }).apply(this, arguments)
        }

        function b(e, t) {
            if (null == e) return {};
            var n, r, o = function(e, t) {
                if (null == e) return {};
                var n, r, o = {},
                    a = Object.keys(e);
                for (r = 0; r < a.length; r++) n = a[r], t.indexOf(n) >= 0 || (o[n] = e[n]);
                return o
            }(e, t);
            if (Object.getOwnPropertySymbols) {
                var a = Object.getOwnPropertySymbols(e);
                for (r = 0; r < a.length; r++) n = a[r], t.indexOf(n) >= 0 || Object.prototype.propertyIsEnumerable.call(e, n) && (o[n] = e[n])
            }
            return o
        }

        function h(e, t) {
            for (var n = 0; n < t.length; n++) {
                var r = t[n];
                r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(e, r.key, r)
            }
        }

        function d(e, t) {
            return !t || "object" !== f(t) && "function" !== typeof t ? function(e) {
                if (void 0 === e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
                return e
            }(e) : t
        }

        function m(e) {
            return (m = Object.setPrototypeOf ? Object.getPrototypeOf : function(e) {
                return e.__proto__ || Object.getPrototypeOf(e)
            })(e)
        }

        function g(e, t) {
            return (g = Object.setPrototypeOf || function(e, t) {
                return e.__proto__ = t, e
            })(e, t)
        }
        var v = function(e) {
            function t() {
                return function(e, t) {
                    if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function")
                }(this, t), d(this, m(t).apply(this, arguments))
            }
            var n, a, i;
            return function(e, t) {
                if ("function" !== typeof t && null !== t) throw new TypeError("Super expression must either be null or a function");
                e.prototype = Object.create(t && t.prototype, {
                    constructor: {
                        value: e,
                        writable: !0,
                        configurable: !0
                    }
                }), t && g(e, t)
            }(t, r["PureComponent"]), n = t, (a = [{
                key: "render",
                value: function() {
                    var e = this.props,
                        t = e.size,
                        n = e.text,
                        r = e.className,
                        a = e.children,
                        i = e.allowOverflow,
                        s = b(e, ["size", "text", "className", "children", "allowOverflow"]);
                    return o.a.createElement("div", y({
                        className: c()(p.a.root, !i && p.a.overflow, p.a[t], r)
                    }, s), o.a.createElement("span", {
                        className: c()(!i && p.a.overflow)
                    }, n), a)
                }
            }]) && h(n.prototype, a), i && h(n, i), t
        }();
        v.propTypes = {
            size: i.a.oneOf(u.d.all),
            text: i.a.string,
            className: i.a.string,
            children: i.a.node,
            allowOverflow: i.a.bool
        }, v.defaultProps = {
            size: u.d.SMALL,
            allowOverflow: !1
        };
        var _ = v,
            O = n("./app/js/components/utils/Notice.css"),
            j = n.n(O);

        function w(e) {
            return (w = "function" === typeof Symbol && "symbol" === typeof Symbol.iterator ? function(e) {
                return typeof e
            } : function(e) {
                return e && "function" === typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e
            })(e)
        }

        function k() {
            return (k = Object.assign || function(e) {
                for (var t = 1; t < arguments.length; t++) {
                    var n = arguments[t];
                    for (var r in n) Object.prototype.hasOwnProperty.call(n, r) && (e[r] = n[r])
                }
                return e
            }).apply(this, arguments)
        }

        function E(e, t) {
            if (null == e) return {};
            var n, r, o = function(e, t) {
                if (null == e) return {};
                var n, r, o = {},
                    a = Object.keys(e);
                for (r = 0; r < a.length; r++) n = a[r], t.indexOf(n) >= 0 || (o[n] = e[n]);
                return o
            }(e, t);
            if (Object.getOwnPropertySymbols) {
                var a = Object.getOwnPropertySymbols(e);
                for (r = 0; r < a.length; r++) n = a[r], t.indexOf(n) >= 0 || Object.prototype.propertyIsEnumerable.call(e, n) && (o[n] = e[n])
            }
            return o
        }

        function S(e, t) {
            for (var n = 0; n < t.length; n++) {
                var r = t[n];
                r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(e, r.key, r)
            }
        }

        function x(e, t) {
            return !t || "object" !== w(t) && "function" !== typeof t ? function(e) {
                if (void 0 === e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
                return e
            }(e) : t
        }

        function C(e) {
            return (C = Object.setPrototypeOf ? Object.getPrototypeOf : function(e) {
                return e.__proto__ || Object.getPrototypeOf(e)
            })(e)
        }

        function P(e, t) {
            return (P = Object.setPrototypeOf || function(e, t) {
                return e.__proto__ = t, e
            })(e, t)
        }
        var T = function(e) {
            function t() {
                return function(e, t) {
                    if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function")
                }(this, t), x(this, C(t).apply(this, arguments))
            }
            var n, a, i;
            return function(e, t) {
                if ("function" !== typeof t && null !== t) throw new TypeError("Super expression must either be null or a function");
                e.prototype = Object.create(t && t.prototype, {
                    constructor: {
                        value: e,
                        writable: !0,
                        configurable: !0
                    }
                }), t && P(e, t)
            }(t, r["PureComponent"]), n = t, (a = [{
                key: "render",
                value: function() {
                    var e = this.props,
                        t = e.tag,
                        n = e.type,
                        r = e.children,
                        a = e.className,
                        i = E(e, ["tag", "type", "children", "className"]);
                    return o.a.createElement(t, k({
                        className: c()(j.a[n], a)
                    }, i), r)
                }
            }]) && S(n.prototype, a), i && S(n, i), t
        }();
        T.propTypes = {
            type: i.a.oneOf(u.c.all),
            children: i.a.node,
            className: i.a.string,
            tag: i.a.string
        }, T.defaultProps = {
            type: u.c.INFO,
            tag: "div"
        };
        var R = T,
            N = n("./node_modules/lodash/lodash.js"),
            M = n.n(N),
            A = n("./node_modules/can-use-dom/index.js"),
            I = n.n(A),
            L = n("./app/js/utils/cssDurationToMilliseconds.js"),
            D = n("./app/js/styles/variables/animations.js"),
            q = n.n(D),
            F = n("./app/js/components/utils/Tooltipped.css"),
            z = n.n(F);

        function G(e) {
            return (G = "function" === typeof Symbol && "symbol" === typeof Symbol.iterator ? function(e) {
                return typeof e
            } : function(e) {
                return e && "function" === typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e
            })(e)
        }

        function B() {
            return (B = Object.assign || function(e) {
                for (var t = 1; t < arguments.length; t++) {
                    var n = arguments[t];
                    for (var r in n) Object.prototype.hasOwnProperty.call(n, r) && (e[r] = n[r])
                }
                return e
            }).apply(this, arguments)
        }

        function U(e, t) {
            if (null == e) return {};
            var n, r, o = function(e, t) {
                if (null == e) return {};
                var n, r, o = {},
                    a = Object.keys(e);
                for (r = 0; r < a.length; r++) n = a[r], t.indexOf(n) >= 0 || (o[n] = e[n]);
                return o
            }(e, t);
            if (Object.getOwnPropertySymbols) {
                var a = Object.getOwnPropertySymbols(e);
                for (r = 0; r < a.length; r++) n = a[r], t.indexOf(n) >= 0 || Object.prototype.propertyIsEnumerable.call(e, n) && (o[n] = e[n])
            }
            return o
        }

        function H(e, t) {
            for (var n = 0; n < t.length; n++) {
                var r = t[n];
                r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(e, r.key, r)
            }
        }

        function W(e) {
            return (W = Object.setPrototypeOf ? Object.getPrototypeOf : function(e) {
                return e.__proto__ || Object.getPrototypeOf(e)
            })(e)
        }

        function V(e, t) {
            return (V = Object.setPrototypeOf || function(e, t) {
                return e.__proto__ = t, e
            })(e, t)
        }

        function K(e) {
            if (void 0 === e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
            return e
        }
        var $ = Object(L.a)(q.a.fastSpeed),
            Y = {
                appear: z.a.enter,
                appearActive: z.a.enterActive,
                enter: z.a.enter,
                enterActive: z.a.enterActive,
                leave: z.a.leave,
                leaveActive: z.a.leaveActive
            },
            J = function(e) {
                function t(e) {
                    var n, r, a;
                    return function(e, t) {
                        if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function")
                    }(this, t), r = this, (n = !(a = W(t).call(this, e)) || "object" !== G(a) && "function" !== typeof a ? K(r) : a)._ref = o.a.createRef(), n.state = {
                        isVisible: !1
                    }, n.onMouseEnter = M.a.debounce(n.onMouseEnter.bind(K(K(n))), 250), n.onMouseLeave = n.onMouseLeave.bind(K(K(n))), n
                }
                var n, a, i;
                return function(e, t) {
                    if ("function" !== typeof t && null !== t) throw new TypeError("Super expression must either be null or a function");
                    e.prototype = Object.create(t && t.prototype, {
                        constructor: {
                            value: e,
                            writable: !0,
                            configurable: !0
                        }
                    }), t && V(e, t)
                }(t, r["Component"]), n = t, (a = [{
                    key: "componentWillUnmount",
                    value: function() {
                        this.onMouseEnter.cancel()
                    }
                }, {
                    key: "onMouseEnter",
                    value: function() {
                        this.setState({
                            isVisible: !0
                        })
                    }
                }, {
                    key: "onMouseLeave",
                    value: function() {
                        this.onMouseEnter.cancel(), this.setState({
                            isVisible: !1
                        })
                    }
                }, {
                    key: "render",
                    value: function() {
                        var e = this.props,
                            t = e.children,
                            n = e.tag,
                            r = U(e, ["children", "tag"]),
                            a = M.a.omit(r, ["disableTooltip", "direction", "text", "multiline"]);
                        return o.a.createElement(n, B({
                            ref: this._ref,
                            onMouseEnter: this.onMouseEnter,
                            onMouseLeave: this.onMouseLeave
                        }, a), t, this._renderTooltip())
                    }
                }, {
                    key: "_renderTooltip",
                    value: function() {
                        var e = this.props,
                            t = e.disableTooltip,
                            n = e.direction,
                            r = e.text,
                            a = e.multiline,
                            i = !!I.a && window.regex101.__IS_TOUCH__,
                            s = {};
                        if (this._ref.current) {
                            var l = this._ref.current.getBoundingClientRect();
                            switch (s = {
                                position: "absolute",
                                height: l.height,
                                width: l.width
                            }, n) {
                                case u.b.SE:
                                case u.b.SW:
                                case u.b.S:
                                    s.top = l.top + l.height, s.left = l.left;
                                    break;
                                case u.b.NW:
                                case u.b.NE:
                                case u.b.N:
                                    s.top = l.top, s.left = l.left;
                                    break;
                                case u.b.W:
                                case u.b.E:
                                    s.top = l.top + l.height / 2, s.left = l.left;
                                    break;
                                default:
                                    throw new Error("Unhandled tooltip direction ".concat(n))
                            }
                        }
                        return o.a.createElement(Be, {
                            isOpen: !t && !i && this.state.isVisible,
                            closeTimeout: $,
                            className: z.a.portal
                        }, o.a.createElement(rn, {
                            transitionName: Y,
                            transitionAppearTimeout: $,
                            transitionEnterTimeout: $,
                            transitionLeaveTimeout: $,
                            style: s
                        }, o.a.createElement("div", {
                            className: c()(z.a.tooltipped, a && z.a.multiline, z.a["tooltipped-".concat(n)])
                        }, o.a.createElement("span", null, r))))
                    }
                }]) && H(n.prototype, a), i && H(n, i), t
            }();
        J.propTypes = {
            direction: i.a.oneOf(u.b.all),
            text: i.a.string.isRequired,
            children: i.a.node.isRequired,
            className: i.a.string,
            disableTooltip: i.a.bool,
            multiline: i.a.bool,
            tag: i.a.string
        }, J.defaultProps = {
            tag: "div",
            direction: u.b.S
        };
        var Q = J,
            X = n("./app/js/utils/log.js"),
            Z = n("./app/js/components/utils/Icon.css"),
            ee = n.n(Z);

        function te(e) {
            return (te = "function" === typeof Symbol && "symbol" === typeof Symbol.iterator ? function(e) {
                return typeof e
            } : function(e) {
                return e && "function" === typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e
            })(e)
        }

        function ne() {
            return (ne = Object.assign || function(e) {
                for (var t = 1; t < arguments.length; t++) {
                    var n = arguments[t];
                    for (var r in n) Object.prototype.hasOwnProperty.call(n, r) && (e[r] = n[r])
                }
                return e
            }).apply(this, arguments)
        }

        function re(e, t) {
            if (null == e) return {};
            var n, r, o = function(e, t) {
                if (null == e) return {};
                var n, r, o = {},
                    a = Object.keys(e);
                for (r = 0; r < a.length; r++) n = a[r], t.indexOf(n) >= 0 || (o[n] = e[n]);
                return o
            }(e, t);
            if (Object.getOwnPropertySymbols) {
                var a = Object.getOwnPropertySymbols(e);
                for (r = 0; r < a.length; r++) n = a[r], t.indexOf(n) >= 0 || Object.prototype.propertyIsEnumerable.call(e, n) && (o[n] = e[n])
            }
            return o
        }

        function oe(e, t) {
            for (var n = 0; n < t.length; n++) {
                var r = t[n];
                r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(e, r.key, r)
            }
        }

        function ae(e, t) {
            return !t || "object" !== te(t) && "function" !== typeof t ? function(e) {
                if (void 0 === e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
                return e
            }(e) : t
        }

        function ie(e) {
            return (ie = Object.setPrototypeOf ? Object.getPrototypeOf : function(e) {
                return e.__proto__ || Object.getPrototypeOf(e)
            })(e)
        }

        function se(e, t) {
            return (se = Object.setPrototypeOf || function(e, t) {
                return e.__proto__ = t, e
            })(e, t)
        }
        var ce = function(e) {
            function t() {
                return function(e, t) {
                    if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function")
                }(this, t), ae(this, ie(t).apply(this, arguments))
            }
            var n, a, i;
            return function(e, t) {
                if ("function" !== typeof t && null !== t) throw new TypeError("Super expression must either be null or a function");
                e.prototype = Object.create(t && t.prototype, {
                    constructor: {
                        value: e,
                        writable: !0,
                        configurable: !0
                    }
                }), t && se(e, t)
            }(t, r["PureComponent"]), n = t, (a = [{
                key: "render",
                value: function() {
                    var e = this.props,
                        t = e.icon,
                        n = e.className,
                        r = e.modifier,
                        a = re(e, ["icon", "className", "modifier"]);
                    return ee.a["icon-" + t] || X.a.error("Icon '".concat(t, "' was not found!")), o.a.createElement("div", ne({
                        className: c()(ee.a.icon, ee.a["icon-" + t], r && ee.a[r], n)
                    }, a))
                }
            }]) && oe(n.prototype, a), i && oe(n, i), t
        }();
        ce.propTypes = {
            icon: i.a.string.isRequired,
            className: i.a.string,
            modifier: i.a.string
        };
        var ue = ce,
            le = n("./app/js/utils/t.js");

        function pe(e) {
            return (pe = "function" === typeof Symbol && "symbol" === typeof Symbol.iterator ? function(e) {
                return typeof e
            } : function(e) {
                return e && "function" === typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e
            })(e)
        }

        function fe(e) {
            return function(e) {
                if (Array.isArray(e)) {
                    for (var t = 0, n = new Array(e.length); t < e.length; t++) n[t] = e[t];
                    return n
                }
            }(e) || function(e) {
                if (Symbol.iterator in Object(e) || "[object Arguments]" === Object.prototype.toString.call(e)) return Array.from(e)
            }(e) || function() {
                throw new TypeError("Invalid attempt to spread non-iterable instance")
            }()
        }

        function ye(e, t) {
            if (null == e) return {};
            var n, r, o = function(e, t) {
                if (null == e) return {};
                var n, r, o = {},
                    a = Object.keys(e);
                for (r = 0; r < a.length; r++) n = a[r], t.indexOf(n) >= 0 || (o[n] = e[n]);
                return o
            }(e, t);
            if (Object.getOwnPropertySymbols) {
                var a = Object.getOwnPropertySymbols(e);
                for (r = 0; r < a.length; r++) n = a[r], t.indexOf(n) >= 0 || Object.prototype.propertyIsEnumerable.call(e, n) && (o[n] = e[n])
            }
            return o
        }

        function be(e, t) {
            for (var n = 0; n < t.length; n++) {
                var r = t[n];
                r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(e, r.key, r)
            }
        }

        function he(e, t) {
            return !t || "object" !== pe(t) && "function" !== typeof t ? function(e) {
                if (void 0 === e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
                return e
            }(e) : t
        }

        function de(e) {
            return (de = Object.setPrototypeOf ? Object.getPrototypeOf : function(e) {
                return e.__proto__ || Object.getPrototypeOf(e)
            })(e)
        }

        function me(e, t) {
            return (me = Object.setPrototypeOf || function(e, t) {
                return e.__proto__ = t, e
            })(e, t)
        }
        var ge = function(e) {
            function t() {
                return function(e, t) {
                    if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function")
                }(this, t), he(this, de(t).apply(this, arguments))
            }
            var n, a, i;
            return function(e, t) {
                if ("function" !== typeof t && null !== t) throw new TypeError("Super expression must either be null or a function");
                e.prototype = Object.create(t && t.prototype, {
                    constructor: {
                        value: e,
                        writable: !0,
                        configurable: !0
                    }
                }), t && me(e, t)
            }(t, r["PureComponent"]), n = t, (a = [{
                key: "render",
                value: function() {
                    var e = this.props,
                        t = e.text,
                        n = e.tag,
                        r = e.className,
                        a = ye(e, ["text", "tag", "className"]),
                        i = M.a.values(a);
                    return o.a.createElement(n, {
                        className: r,
                        dangerouslySetInnerHTML: {
                            __html: le.a.apply(void 0, [M.a.escape(t)].concat(fe(i)))
                        }
                    })
                }
            }]) && be(n.prototype, a), i && be(n, i), t
        }();
        ge.propTypes = {
            text: i.a.string.isRequired,
            className: i.a.string,
            tag: i.a.string
        }, ge.defaultProps = {
            tag: "span"
        };
        var ve = ge,
            _e = n("./app/js/components/utils/Button.css"),
            Oe = n.n(_e);

        function je(e) {
            return (je = "function" === typeof Symbol && "symbol" === typeof Symbol.iterator ? function(e) {
                return typeof e
            } : function(e) {
                return e && "function" === typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e
            })(e)
        }

        function we() {
            return (we = Object.assign || function(e) {
                for (var t = 1; t < arguments.length; t++) {
                    var n = arguments[t];
                    for (var r in n) Object.prototype.hasOwnProperty.call(n, r) && (e[r] = n[r])
                }
                return e
            }).apply(this, arguments)
        }

        function ke(e, t) {
            if (null == e) return {};
            var n, r, o = function(e, t) {
                if (null == e) return {};
                var n, r, o = {},
                    a = Object.keys(e);
                for (r = 0; r < a.length; r++) n = a[r], t.indexOf(n) >= 0 || (o[n] = e[n]);
                return o
            }(e, t);
            if (Object.getOwnPropertySymbols) {
                var a = Object.getOwnPropertySymbols(e);
                for (r = 0; r < a.length; r++) n = a[r], t.indexOf(n) >= 0 || Object.prototype.propertyIsEnumerable.call(e, n) && (o[n] = e[n])
            }
            return o
        }

        function Ee(e, t) {
            for (var n = 0; n < t.length; n++) {
                var r = t[n];
                r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(e, r.key, r)
            }
        }

        function Se(e, t) {
            return !t || "object" !== je(t) && "function" !== typeof t ? function(e) {
                if (void 0 === e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
                return e
            }(e) : t
        }

        function xe(e) {
            return (xe = Object.setPrototypeOf ? Object.getPrototypeOf : function(e) {
                return e.__proto__ || Object.getPrototypeOf(e)
            })(e)
        }

        function Ce(e, t) {
            return (Ce = Object.setPrototypeOf || function(e, t) {
                return e.__proto__ = t, e
            })(e, t)
        }
        var Pe = function(e) {
            function t() {
                return function(e, t) {
                    if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function")
                }(this, t), Se(this, xe(t).apply(this, arguments))
            }
            var n, a, i;
            return function(e, t) {
                if ("function" !== typeof t && null !== t) throw new TypeError("Super expression must either be null or a function");
                e.prototype = Object.create(t && t.prototype, {
                    constructor: {
                        value: e,
                        writable: !0,
                        configurable: !0
                    }
                }), t && Ce(e, t)
            }(t, r["PureComponent"]), n = t, (a = [{
                key: "render",
                value: function() {
                    var e = this.props,
                        t = e.text,
                        n = e.type,
                        r = e.className,
                        a = e.disabled,
                        i = ke(e, ["text", "type", "className", "disabled"]);
                    return o.a.createElement("button", we({
                        type: "button",
                        className: c()(Oe.a[n], r, a && Oe.a.disabled)
                    }, i), t)
                }
            }]) && Ee(n.prototype, a), i && Ee(n, i), t
        }();
        Pe.propTypes = {
            text: i.a.string.isRequired,
            type: i.a.oneOf(u.e.all),
            className: i.a.string,
            disabled: i.a.bool
        }, Pe.defaultProps = {
            type: u.e.OK
        };
        var Te, Re, Ne, Me = Pe,
            Ae = n("./node_modules/react-dom/index.js"),
            Ie = n.n(Ae),
            Le = n("./app/js/utils/decorators/index.js");

        function De(e) {
            return (De = "function" === typeof Symbol && "symbol" === typeof Symbol.iterator ? function(e) {
                return typeof e
            } : function(e) {
                return e && "function" === typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e
            })(e)
        }

        function qe(e, t) {
            for (var n = 0; n < t.length; n++) {
                var r = t[n];
                r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(e, r.key, r)
            }
        }

        function Fe(e, t) {
            return !t || "object" !== De(t) && "function" !== typeof t ? function(e) {
                if (void 0 === e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
                return e
            }(e) : t
        }

        function ze(e) {
            return (ze = Object.setPrototypeOf ? Object.getPrototypeOf : function(e) {
                return e.__proto__ || Object.getPrototypeOf(e)
            })(e)
        }

        function Ge(e, t) {
            return (Ge = Object.setPrototypeOf || function(e, t) {
                return e.__proto__ = t, e
            })(e, t)
        }
        var Be = (Ne = Re = function(e) {
                function t() {
                    var e, n;
                    ! function(e, t) {
                        if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function")
                    }(this, t);
                    for (var r = arguments.length, o = new Array(r), a = 0; a < r; a++) o[a] = arguments[a];
                    return (n = Fe(this, (e = ze(t)).call.apply(e, [this].concat(o))))._portal = null, n._closeTimeoutID = null, n.state = {
                        isOpen: n.props.isOpen
                    }, n
                }
                var n, a, i;
                return function(e, t) {
                    if ("function" !== typeof t && null !== t) throw new TypeError("Super expression must either be null or a function");
                    e.prototype = Object.create(t && t.prototype, {
                        constructor: {
                            value: e,
                            writable: !0,
                            configurable: !0
                        }
                    }), t && Ge(e, t)
                }(t, r["Component"]), n = t, (a = [{
                    key: "componentWillReceiveProps",
                    value: function(e) {
                        var t = this;
                        this.props.isOpen && !e.isOpen ? this._closeTimeoutID = setTimeout(function() {
                            return t.setState({
                                isOpen: !1
                            })
                        }, this.props.closeTimeout) : !this.props.isOpen && e.isOpen && (this.setState({
                            isOpen: !0
                        }), clearTimeout(this._closeTimeoutID))
                    }
                }, {
                    key: "componentWillUnmount",
                    value: function() {
                        this._removePortal()
                    }
                }, {
                    key: "componentDidUpdate",
                    value: function(e) {
                        this.props.isOpen && !e.isOpen && this.props.onPortalRef && this.props.onPortalRef(this._portal)
                    }
                }, {
                    key: "_setAttrs",
                    value: function(e, t) {
                        this._setClassName(e, t.className)
                    }
                }, {
                    key: "_setClassName",
                    value: function(e, t) {
                        null != t && (e.className = t)
                    }
                }, {
                    key: "_removePortal",
                    value: function() {
                        var e = this.props,
                            t = e.onPortalRef,
                            n = e.portalTarget,
                            r = void 0 === n ? document.body : n;
                        this._portal && r.removeChild(this._portal), this._portal = null, t && t(null), this._closeTimeoutID = clearTimeout(this._closeTimeoutID)
                    }
                }, {
                    key: "render",
                    value: function() {
                        var e = o.a.Children.only(this.props.children);
                        if (!I.a) return o.a.createElement("div", {
                            style: {
                                display: "none"
                            }
                        }, e);
                        var t = this.props.portalTarget,
                            n = void 0 === t ? document.body : t;
                        if (!this.state.isOpen) return this._removePortal(), null;
                        var r = this._portal || document.createElement("div");
                        return this._setAttrs(r, this.props), this._portal || n.appendChild(r), this._portal = r, Ie.a.createPortal(e, r)
                    }
                }]) && qe(n.prototype, a), i && qe(n, i), t
            }(), Re.propTypes = {
                className: i.a.string,
                style: i.a.object,
                children: i.a.node.isRequired,
                onPortalRef: i.a.func,
                isOpen: i.a.bool,
                closeTimeout: i.a.number,
                portalTarget: i.a.oneOfType([i.a.node, i.a.object])
            }, Re.defaultProps = {
                isOpen: !0,
                closeTimeout: 0
            }, function(e, t, n, r, o) {
                var a = {};
                Object.keys(r).forEach(function(e) {
                    a[e] = r[e]
                }), a.enumerable = !!a.enumerable, a.configurable = !!a.configurable, ("value" in a || a.initializer) && (a.writable = !0), a = n.slice().reverse().reduce(function(n, r) {
                    return r(e, t, n) || n
                }, a), o && void 0 !== a.initializer && (a.value = a.initializer ? a.initializer.call(o) : void 0, a.initializer = void 0), void 0 === a.initializer && (Object.defineProperty(e, t, a), a = null)
            }((Te = Ne).prototype, "_removePortal", [Le.a], Object.getOwnPropertyDescriptor(Te.prototype, "_removePortal"), Te.prototype), Te),
            Ue = n("./app/js/utils/events.js"),
            He = n("./app/js/components/utils/TextInput/LengthCounter.css"),
            We = n.n(He);

        function Ve(e) {
            return (Ve = "function" === typeof Symbol && "symbol" === typeof Symbol.iterator ? function(e) {
                return typeof e
            } : function(e) {
                return e && "function" === typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e
            })(e)
        }

        function Ke(e, t) {
            for (var n = 0; n < t.length; n++) {
                var r = t[n];
                r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(e, r.key, r)
            }
        }

        function $e(e, t) {
            return !t || "object" !== Ve(t) && "function" !== typeof t ? function(e) {
                if (void 0 === e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
                return e
            }(e) : t
        }

        function Ye(e) {
            return (Ye = Object.setPrototypeOf ? Object.getPrototypeOf : function(e) {
                return e.__proto__ || Object.getPrototypeOf(e)
            })(e)
        }

        function Je(e, t) {
            return (Je = Object.setPrototypeOf || function(e, t) {
                return e.__proto__ = t, e
            })(e, t)
        }
        var Qe = function(e) {
            function t() {
                return function(e, t) {
                    if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function")
                }(this, t), $e(this, Ye(t).apply(this, arguments))
            }
            var n, a, i;
            return function(e, t) {
                if ("function" !== typeof t && null !== t) throw new TypeError("Super expression must either be null or a function");
                e.prototype = Object.create(t && t.prototype, {
                    constructor: {
                        value: e,
                        writable: !0,
                        configurable: !0
                    }
                }), t && Je(e, t)
            }(t, r["PureComponent"]), n = t, (a = [{
                key: "render",
                value: function() {
                    var e = this.props,
                        t = e.maxLength,
                        n = e.currentLength,
                        r = e.multiline,
                        a = c()(We.a.lengthCounter, !r && We.a.singleLine);
                    return t ? o.a.createElement("div", {
                        className: a
                    }, "".concat(n, "/").concat(t)) : o.a.createElement("div", {
                        className: a
                    }, n)
                }
            }]) && Ke(n.prototype, a), i && Ke(n, i), t
        }();
        Qe.propTypes = {
            maxLength: i.a.number,
            currentLength: i.a.number,
            multiline: i.a.bool.isRequired
        }, Qe.defaultProps = {
            currentLength: 0
        };
        var Xe, Ze, et, tt = Qe,
            nt = n("./app/js/components/utils/TextInput/TextInput.css"),
            rt = n.n(nt);

        function ot(e) {
            return (ot = "function" === typeof Symbol && "symbol" === typeof Symbol.iterator ? function(e) {
                return typeof e
            } : function(e) {
                return e && "function" === typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e
            })(e)
        }

        function at() {
            return (at = Object.assign || function(e) {
                for (var t = 1; t < arguments.length; t++) {
                    var n = arguments[t];
                    for (var r in n) Object.prototype.hasOwnProperty.call(n, r) && (e[r] = n[r])
                }
                return e
            }).apply(this, arguments)
        }

        function it(e, t) {
            if (null == e) return {};
            var n, r, o = function(e, t) {
                if (null == e) return {};
                var n, r, o = {},
                    a = Object.keys(e);
                for (r = 0; r < a.length; r++) n = a[r], t.indexOf(n) >= 0 || (o[n] = e[n]);
                return o
            }(e, t);
            if (Object.getOwnPropertySymbols) {
                var a = Object.getOwnPropertySymbols(e);
                for (r = 0; r < a.length; r++) n = a[r], t.indexOf(n) >= 0 || Object.prototype.propertyIsEnumerable.call(e, n) && (o[n] = e[n])
            }
            return o
        }

        function st(e, t) {
            for (var n = 0; n < t.length; n++) {
                var r = t[n];
                r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(e, r.key, r)
            }
        }

        function ct(e, t) {
            return !t || "object" !== ot(t) && "function" !== typeof t ? function(e) {
                if (void 0 === e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
                return e
            }(e) : t
        }

        function ut(e) {
            return (ut = Object.setPrototypeOf ? Object.getPrototypeOf : function(e) {
                return e.__proto__ || Object.getPrototypeOf(e)
            })(e)
        }

        function lt(e, t) {
            return (lt = Object.setPrototypeOf || function(e, t) {
                return e.__proto__ = t, e
            })(e, t)
        }

        function pt(e, t, n, r, o) {
            var a = {};
            return Object.keys(r).forEach(function(e) {
                a[e] = r[e]
            }), a.enumerable = !!a.enumerable, a.configurable = !!a.configurable, ("value" in a || a.initializer) && (a.writable = !0), a = n.slice().reverse().reduce(function(n, r) {
                return r(e, t, n) || n
            }, a), o && void 0 !== a.initializer && (a.value = a.initializer ? a.initializer.call(o) : void 0, a.initializer = void 0), void 0 === a.initializer && (Object.defineProperty(e, t, a), a = null), a
        }
        var ft, yt, bt, ht = (et = Ze = function(e) {
            function t() {
                var e, n;
                ! function(e, t) {
                    if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function")
                }(this, t);
                for (var r = arguments.length, o = new Array(r), a = 0; a < r; a++) o[a] = arguments[a];
                return (n = ct(this, (e = ut(t)).call.apply(e, [this].concat(o)))).state = {
                    value: n.props.defaultValue || n.props.value || "",
                    invalidInput: !1,
                    focus: !1
                }, n._inputComponent = !1, n._isMounted = !1, n._resetInvalidInputTimer = null, n
            }
            var n, a, i;
            return function(e, t) {
                if ("function" !== typeof t && null !== t) throw new TypeError("Super expression must either be null or a function");
                e.prototype = Object.create(t && t.prototype, {
                    constructor: {
                        value: e,
                        writable: !0,
                        configurable: !0
                    }
                }), t && lt(e, t)
            }(t, r["PureComponent"]), n = t, (a = [{
                key: "componentDidMount",
                value: function() {
                    this._isMounted = !0, this.props.focusOnMount && setTimeout(this._focus, 0), this.props.selectOnMount && setTimeout(this._select, 0)
                }
            }, {
                key: "componentWillUnmount",
                value: function() {
                    this._isMounted = !1, Ue.a.off("key:escape", this.clearInput), clearTimeout(this._resetInvalidInputTimer)
                }
            }, {
                key: "componentWillReceiveProps",
                value: function(e) {
                    null != e.value && this.setState({
                        value: e.value
                    })
                }
            }, {
                key: "getWrappedComponent",
                value: function() {
                    return this._inputComponent
                }
            }, {
                key: "clearInput",
                value: function() {
                    this.setState({
                        value: ""
                    }), this.props.onChange && this.props.onChange("")
                }
            }, {
                key: "_focus",
                value: function() {
                    this._inputComponent && this._inputComponent.focus()
                }
            }, {
                key: "_select",
                value: function() {
                    this._inputComponent && (this._focus(), this._inputComponent.select())
                }
            }, {
                key: "getStart",
                value: function() {
                    return this._inputComponent ? this._inputComponent.selectionStart : 0
                }
            }, {
                key: "getEnd",
                value: function() {
                    return this._inputComponent ? this._inputComponent.selectionEnd : 0
                }
            }, {
                key: "getInputComponent",
                value: function() {
                    return this._inputComponent
                }
            }, {
                key: "onChange",
                value: function(e) {
                    var t = this,
                        n = this.props,
                        r = n.maxlength,
                        o = n.validation,
                        a = n.onChange,
                        i = e.target.value;
                    !r && !o || o && o.test(i) || r && r >= i.length ? (this.setState({
                        value: i,
                        invalidInput: !1
                    }), a && a(i)) : (this.setState({
                        invalidInput: !0
                    }, function() {
                        clearTimeout(t._resetInvalidInputTimer), t._resetInvalidInputTimer = setTimeout(function() {
                            return t.setState({
                                invalidInput: !1
                            })
                        }, 400)
                    }), a && a(this.state.value))
                }
            }, {
                key: "onFocus",
                value: function() {
                    this.setState({
                        focus: !0
                    }), this.props.readOnly || (Ue.a.off("key:escape", this.clearInput), Ue.a.on("key:escape", this.clearInput)), this.props.selectTextOnClick && this._select()
                }
            }, {
                key: "onBlur",
                value: function() {
                    this._isMounted && (this.setState({
                        focus: !1
                    }), this.props.readOnly || Ue.a.off("key:escape", this.clearInput))
                }
            }, {
                key: "render",
                value: function() {
                    var e = this,
                        t = this.props,
                        n = t.error,
                        r = t.wrappedClassName,
                        a = t.className,
                        i = t.showLengthCounter,
                        s = t.maxlength,
                        u = t.multiline,
                        l = t.codeInput,
                        p = t.copyButton,
                        f = it(t, ["error", "wrappedClassName", "className", "showLengthCounter", "maxlength", "multiline", "codeInput", "copyButton"]),
                        y = M.a.omit(f, ["onChange", "selectTextOnClick", "defaultValue", "validation", "focusOnMount", "selectOnMount"]),
                        b = u ? "textarea" : "input";
                    return o.a.createElement("div", {
                        className: c()(rt.a.wrapper, n && rt.a.error, this.state.invalidInput && rt.a.invalidInput, this.state.focus && rt.a.focus, this.props.readOnly && rt.a.readOnly, r)
                    }, o.a.createElement(b, at({}, y, {
                        className: c()(rt.a.input, l && rt.a.codeInput, p && rt.a.copyInput, a),
                        onChange: this.onChange,
                        onFocus: this.onFocus,
                        onBlur: this.onBlur,
                        value: this.state.value,
                        ref: function(t) {
                            e._inputComponent = Object(Ae.findDOMNode)(t)
                        }
                    })), !(!s && !i) && o.a.createElement(tt, {
                        maxLength: s,
                        currentLength: this.state.value.length,
                        multiline: u
                    }), p && o.a.createElement(kr, {
                        className: rt.a.copyButton,
                        getCopyComponent: this.getInputComponent
                    }))
                }
            }]) && st(n.prototype, a), i && st(n, i), t
        }(), Ze.propTypes = {
            onChange: i.a.func,
            error: i.a.bool,
            className: i.a.string,
            codeInput: i.a.bool,
            value: i.a.string,
            defaultValue: i.a.string,
            selectTextOnClick: i.a.bool,
            multiline: i.a.bool,
            readOnly: i.a.bool,
            maxlength: i.a.number,
            validation: i.a.instanceOf(RegExp),
            showLengthCounter: i.a.bool,
            focusOnMount: i.a.bool,
            selectOnMount: i.a.bool,
            wrappedClassName: i.a.string,
            copyButton: function(e, t, n) {
                if ("undefined" !== typeof e[t]) return "boolean" !== typeof e[t] ? new Error("Invalid prop '".concat(t, "' supplied to '").concat(n, "'. Expected boolean but got ").concat(ot(e[t]), ".")) : e.multiline || "undefined" !== typeof e.showLengthCounter || "undefined" !== typeof e.maxLength ? new Error("Invalid prop '".concat(t, "' supplied to '").concat(n, "'. 'copyButton' prop can not be used in conjunction with 'maxLength' or 'showLengthCounter'.")) : void 0
            }
        }, Ze.defaultProps = {
            multiline: !1
        }, pt((Xe = et).prototype, "getWrappedComponent", [Le.a], Object.getOwnPropertyDescriptor(Xe.prototype, "getWrappedComponent"), Xe.prototype), pt(Xe.prototype, "clearInput", [Le.a], Object.getOwnPropertyDescriptor(Xe.prototype, "clearInput"), Xe.prototype), pt(Xe.prototype, "_focus", [Le.a], Object.getOwnPropertyDescriptor(Xe.prototype, "_focus"), Xe.prototype), pt(Xe.prototype, "_select", [Le.a], Object.getOwnPropertyDescriptor(Xe.prototype, "_select"), Xe.prototype), pt(Xe.prototype, "getStart", [Le.a], Object.getOwnPropertyDescriptor(Xe.prototype, "getStart"), Xe.prototype), pt(Xe.prototype, "getEnd", [Le.a], Object.getOwnPropertyDescriptor(Xe.prototype, "getEnd"), Xe.prototype), pt(Xe.prototype, "getInputComponent", [Le.a], Object.getOwnPropertyDescriptor(Xe.prototype, "getInputComponent"), Xe.prototype), pt(Xe.prototype, "onChange", [Le.a], Object.getOwnPropertyDescriptor(Xe.prototype, "onChange"), Xe.prototype), pt(Xe.prototype, "onFocus", [Le.a], Object.getOwnPropertyDescriptor(Xe.prototype, "onFocus"), Xe.prototype), pt(Xe.prototype, "onBlur", [Le.a], Object.getOwnPropertyDescriptor(Xe.prototype, "onBlur"), Xe.prototype), Xe);

        function dt(e) {
            return (dt = "function" === typeof Symbol && "symbol" === typeof Symbol.iterator ? function(e) {
                return typeof e
            } : function(e) {
                return e && "function" === typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e
            })(e)
        }

        function mt() {
            return (mt = Object.assign || function(e) {
                for (var t = 1; t < arguments.length; t++) {
                    var n = arguments[t];
                    for (var r in n) Object.prototype.hasOwnProperty.call(n, r) && (e[r] = n[r])
                }
                return e
            }).apply(this, arguments)
        }

        function gt(e, t) {
            if (null == e) return {};
            var n, r, o = function(e, t) {
                if (null == e) return {};
                var n, r, o = {},
                    a = Object.keys(e);
                for (r = 0; r < a.length; r++) n = a[r], t.indexOf(n) >= 0 || (o[n] = e[n]);
                return o
            }(e, t);
            if (Object.getOwnPropertySymbols) {
                var a = Object.getOwnPropertySymbols(e);
                for (r = 0; r < a.length; r++) n = a[r], t.indexOf(n) >= 0 || Object.prototype.propertyIsEnumerable.call(e, n) && (o[n] = e[n])
            }
            return o
        }

        function vt(e, t) {
            for (var n = 0; n < t.length; n++) {
                var r = t[n];
                r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(e, r.key, r)
            }
        }

        function _t(e, t) {
            return !t || "object" !== dt(t) && "function" !== typeof t ? function(e) {
                if (void 0 === e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
                return e
            }(e) : t
        }

        function Ot(e) {
            return (Ot = Object.setPrototypeOf ? Object.getPrototypeOf : function(e) {
                return e.__proto__ || Object.getPrototypeOf(e)
            })(e)
        }

        function jt(e, t) {
            return (jt = Object.setPrototypeOf || function(e, t) {
                return e.__proto__ = t, e
            })(e, t)
        }
        var wt = (bt = yt = function(e) {
                function t() {
                    var e, n;
                    ! function(e, t) {
                        if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function")
                    }(this, t);
                    for (var r = arguments.length, o = new Array(r), a = 0; a < r; a++) o[a] = arguments[a];
                    return (n = _t(this, (e = Ot(t)).call.apply(e, [this].concat(o)))).state = {
                        value: n.props.value || ""
                    }, n
                }
                var n, a, i;
                return function(e, t) {
                    if ("function" !== typeof t && null !== t) throw new TypeError("Super expression must either be null or a function");
                    e.prototype = Object.create(t && t.prototype, {
                        constructor: {
                            value: e,
                            writable: !0,
                            configurable: !0
                        }
                    }), t && jt(e, t)
                }(t, r["PureComponent"]), n = t, (a = [{
                    key: "onChange",
                    value: function(e) {
                        this.props.onChange && this.props.onChange(e.target.value)
                    }
                }, {
                    key: "render",
                    value: function() {
                        var e = this.props,
                            t = e.className,
                            n = e.options,
                            r = gt(e, ["className", "options"]),
                            a = M.a.omit(r, ["onChange"]);
                        return o.a.createElement("select", mt({
                            className: t,
                            onChange: this.onChange,
                            value: this.state.value
                        }, a), n.map(function(e, t) {
                            return o.a.createElement("option", {
                                key: "option-".concat(t),
                                value: e.value
                            }, e.text)
                        }))
                    }
                }]) && vt(n.prototype, a), i && vt(n, i), t
            }(), yt.propTypes = {
                className: i.a.string,
                onChange: i.a.func,
                options: i.a.array.isRequired,
                value: i.a.string
            }, function(e, t, n, r, o) {
                var a = {};
                Object.keys(r).forEach(function(e) {
                    a[e] = r[e]
                }), a.enumerable = !!a.enumerable, a.configurable = !!a.configurable, ("value" in a || a.initializer) && (a.writable = !0), a = n.slice().reverse().reduce(function(n, r) {
                    return r(e, t, n) || n
                }, a), o && void 0 !== a.initializer && (a.value = a.initializer ? a.initializer.call(o) : void 0, a.initializer = void 0), void 0 === a.initializer && (Object.defineProperty(e, t, a), a = null)
            }((ft = bt).prototype, "onChange", [Le.a], Object.getOwnPropertyDescriptor(ft.prototype, "onChange"), ft.prototype), ft),
            kt = n("./node_modules/react-router-dom/es/index.js"),
            Et = n("./app/js/components/utils/Link.css"),
            St = n.n(Et);

        function xt(e) {
            return (xt = "function" === typeof Symbol && "symbol" === typeof Symbol.iterator ? function(e) {
                return typeof e
            } : function(e) {
                return e && "function" === typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e
            })(e)
        }

        function Ct() {
            return (Ct = Object.assign || function(e) {
                for (var t = 1; t < arguments.length; t++) {
                    var n = arguments[t];
                    for (var r in n) Object.prototype.hasOwnProperty.call(n, r) && (e[r] = n[r])
                }
                return e
            }).apply(this, arguments)
        }

        function Pt(e, t) {
            if (null == e) return {};
            var n, r, o = function(e, t) {
                if (null == e) return {};
                var n, r, o = {},
                    a = Object.keys(e);
                for (r = 0; r < a.length; r++) n = a[r], t.indexOf(n) >= 0 || (o[n] = e[n]);
                return o
            }(e, t);
            if (Object.getOwnPropertySymbols) {
                var a = Object.getOwnPropertySymbols(e);
                for (r = 0; r < a.length; r++) n = a[r], t.indexOf(n) >= 0 || Object.prototype.propertyIsEnumerable.call(e, n) && (o[n] = e[n])
            }
            return o
        }

        function Tt(e, t) {
            for (var n = 0; n < t.length; n++) {
                var r = t[n];
                r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(e, r.key, r)
            }
        }

        function Rt(e, t) {
            return !t || "object" !== xt(t) && "function" !== typeof t ? function(e) {
                if (void 0 === e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
                return e
            }(e) : t
        }

        function Nt(e) {
            return (Nt = Object.setPrototypeOf ? Object.getPrototypeOf : function(e) {
                return e.__proto__ || Object.getPrototypeOf(e)
            })(e)
        }

        function Mt(e, t) {
            return (Mt = Object.setPrototypeOf || function(e, t) {
                return e.__proto__ = t, e
            })(e, t)
        }
        var At = function(e) {
            function t() {
                return function(e, t) {
                    if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function")
                }(this, t), Rt(this, Nt(t).apply(this, arguments))
            }
            var n, a, i;
            return function(e, t) {
                if ("function" !== typeof t && null !== t) throw new TypeError("Super expression must either be null or a function");
                e.prototype = Object.create(t && t.prototype, {
                    constructor: {
                        value: e,
                        writable: !0,
                        configurable: !0
                    }
                }), t && Mt(e, t)
            }(t, r["PureComponent"]), n = t, (a = [{
                key: "render",
                value: function() {
                    var e = this.props,
                        t = e.to,
                        n = e.absolute,
                        r = e.children,
                        a = e.noTheme,
                        i = e.className,
                        s = e.activeClassName,
                        u = Pt(e, ["to", "absolute", "children", "noTheme", "className", "activeClassName"]),
                        l = c()(St.a.link, !a && St.a.theme, i);
                    return n ? o.a.createElement("a", Ct({
                        href: t,
                        className: l
                    }, u), r) : s ? o.a.createElement(kt.c, Ct({
                        to: t,
                        className: l,
                        activeClassName: s
                    }, u), r) : o.a.createElement(kt.b, Ct({
                        to: t,
                        className: l
                    }, u), r)
                }
            }]) && Tt(n.prototype, a), i && Tt(n, i), t
        }();
        At.propTypes = {
            to: i.a.oneOfType([i.a.string, i.a.object]).isRequired,
            children: i.a.node.isRequired,
            className: i.a.string,
            noTheme: i.a.bool,
            absolute: i.a.bool,
            activeClassName: i.a.string
        }, At.defaultProps = {
            absolute: !1,
            noTheme: !1
        };
        var It = At,
            Lt = n("./app/js/components/utils/Spinner.css"),
            Dt = n.n(Lt);

        function qt(e) {
            return (qt = "function" === typeof Symbol && "symbol" === typeof Symbol.iterator ? function(e) {
                return typeof e
            } : function(e) {
                return e && "function" === typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e
            })(e)
        }

        function Ft() {
            return (Ft = Object.assign || function(e) {
                for (var t = 1; t < arguments.length; t++) {
                    var n = arguments[t];
                    for (var r in n) Object.prototype.hasOwnProperty.call(n, r) && (e[r] = n[r])
                }
                return e
            }).apply(this, arguments)
        }

        function zt(e, t) {
            if (null == e) return {};
            var n, r, o = function(e, t) {
                if (null == e) return {};
                var n, r, o = {},
                    a = Object.keys(e);
                for (r = 0; r < a.length; r++) n = a[r], t.indexOf(n) >= 0 || (o[n] = e[n]);
                return o
            }(e, t);
            if (Object.getOwnPropertySymbols) {
                var a = Object.getOwnPropertySymbols(e);
                for (r = 0; r < a.length; r++) n = a[r], t.indexOf(n) >= 0 || Object.prototype.propertyIsEnumerable.call(e, n) && (o[n] = e[n])
            }
            return o
        }

        function Gt(e, t) {
            for (var n = 0; n < t.length; n++) {
                var r = t[n];
                r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(e, r.key, r)
            }
        }

        function Bt(e, t) {
            return !t || "object" !== qt(t) && "function" !== typeof t ? function(e) {
                if (void 0 === e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
                return e
            }(e) : t
        }

        function Ut(e) {
            return (Ut = Object.setPrototypeOf ? Object.getPrototypeOf : function(e) {
                return e.__proto__ || Object.getPrototypeOf(e)
            })(e)
        }

        function Ht(e, t) {
            return (Ht = Object.setPrototypeOf || function(e, t) {
                return e.__proto__ = t, e
            })(e, t)
        }
        var Wt = function(e) {
            function t() {
                return function(e, t) {
                    if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function")
                }(this, t), Bt(this, Ut(t).apply(this, arguments))
            }
            var n, a, i;
            return function(e, t) {
                if ("function" !== typeof t && null !== t) throw new TypeError("Super expression must either be null or a function");
                e.prototype = Object.create(t && t.prototype, {
                    constructor: {
                        value: e,
                        writable: !0,
                        configurable: !0
                    }
                }), t && Ht(e, t)
            }(t, r["PureComponent"]), n = t, (a = [{
                key: "render",
                value: function() {
                    var e = this.props,
                        t = e.className,
                        n = e.size,
                        r = zt(e, ["className", "size"]);
                    return o.a.createElement("div", Ft({
                        className: c()(Dt.a.loading, t, Dt.a[n]),
                        "aria-label": Object(le.a)("Loading...")
                    }, r))
                }
            }]) && Gt(n.prototype, a), i && Gt(n, i), t
        }();
        Wt.propTypes = {
            size: i.a.oneOf(u.d.all),
            className: i.a.string
        }, Wt.defaultProps = {
            size: u.d.MEDIUM
        };
        var Vt = Wt,
            Kt = n("./node_modules/react-transition-group/index.js");

        function $t(e) {
            return ($t = "function" === typeof Symbol && "symbol" === typeof Symbol.iterator ? function(e) {
                return typeof e
            } : function(e) {
                return e && "function" === typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e
            })(e)
        }

        function Yt(e, t) {
            for (var n = 0; n < t.length; n++) {
                var r = t[n];
                r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(e, r.key, r)
            }
        }

        function Jt(e, t) {
            return !t || "object" !== $t(t) && "function" !== typeof t ? function(e) {
                if (void 0 === e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
                return e
            }(e) : t
        }

        function Qt(e) {
            return (Qt = Object.setPrototypeOf ? Object.getPrototypeOf : function(e) {
                return e.__proto__ || Object.getPrototypeOf(e)
            })(e)
        }

        function Xt(e, t) {
            return (Xt = Object.setPrototypeOf || function(e, t) {
                return e.__proto__ = t, e
            })(e, t)
        }
        var Zt = function(e) {
            function t() {
                return function(e, t) {
                    if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function")
                }(this, t), Jt(this, Qt(t).apply(this, arguments))
            }
            var n, a, i;
            return function(e, t) {
                if ("function" !== typeof t && null !== t) throw new TypeError("Super expression must either be null or a function");
                e.prototype = Object.create(t && t.prototype, {
                    constructor: {
                        value: e,
                        writable: !0,
                        configurable: !0
                    }
                }), t && Xt(e, t)
            }(t, r["Component"]), n = t, (a = [{
                key: "render",
                value: function() {
                    return o.a.createElement(Kt.CSSTransitionGroup, this.props)
                }
            }]) && Yt(n.prototype, a), i && Yt(n, i), t
        }();
        Zt.propTypes = {
            className: i.a.string,
            children: i.a.node,
            component: i.a.string,
            transitionName: i.a.shape({
                appear: i.a.string,
                appearActive: i.a.string,
                enter: i.a.string,
                enterActive: i.a.string,
                leave: i.a.string,
                leaveActive: i.a.string
            }).isRequired,
            transitionAppear: i.a.bool,
            transitionEnter: i.a.bool,
            transitionLeave: i.a.bool,
            transitionAppearTimeout: i.a.number,
            transitionEnterTimeout: i.a.number,
            transitionLeaveTimeout: i.a.number
        }, Zt.defaultProps = {
            component: "div",
            transitionName: {
                appear: "appear",
                enter: "enter",
                leave: "leave"
            },
            transitionAppear: !0,
            transitionEnter: !0,
            transitionLeave: !0
        };
        var en, tn, nn, rn = Zt,
            on = n("./node_modules/tether/dist/js/tether.js"),
            an = n.n(on);

        function sn(e) {
            return (sn = "function" === typeof Symbol && "symbol" === typeof Symbol.iterator ? function(e) {
                return typeof e
            } : function(e) {
                return e && "function" === typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e
            })(e)
        }

        function cn() {
            return (cn = Object.assign || function(e) {
                for (var t = 1; t < arguments.length; t++) {
                    var n = arguments[t];
                    for (var r in n) Object.prototype.hasOwnProperty.call(n, r) && (e[r] = n[r])
                }
                return e
            }).apply(this, arguments)
        }

        function un(e, t, n) {
            return t in e ? Object.defineProperty(e, t, {
                value: n,
                enumerable: !0,
                configurable: !0,
                writable: !0
            }) : e[t] = n, e
        }

        function ln(e, t) {
            for (var n = 0; n < t.length; n++) {
                var r = t[n];
                r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(e, r.key, r)
            }
        }

        function pn(e, t) {
            return !t || "object" !== sn(t) && "function" !== typeof t ? function(e) {
                if (void 0 === e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
                return e
            }(e) : t
        }

        function fn(e) {
            return (fn = Object.setPrototypeOf ? Object.getPrototypeOf : function(e) {
                return e.__proto__ || Object.getPrototypeOf(e)
            })(e)
        }

        function yn(e, t) {
            return (yn = Object.setPrototypeOf || function(e, t) {
                return e.__proto__ = t, e
            })(e, t)
        }
        var bn = {
                attachment: "top left",
                targetAttachment: "bottom left",
                constraints: [{
                    to: "window",
                    attachment: "together",
                    pin: !0
                }],
                optimizations: {
                    moveElement: !1
                }
            },
            hn = (nn = tn = function(e) {
                function t() {
                    var e, n;
                    ! function(e, t) {
                        if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function")
                    }(this, t);
                    for (var r = arguments.length, o = new Array(r), a = 0; a < r; a++) o[a] = arguments[a];
                    return (n = pn(this, (e = fn(t)).call.apply(e, [this].concat(o))))._tether = null, n
                }
                var n, a, i;
                return function(e, t) {
                    if ("function" !== typeof t && null !== t) throw new TypeError("Super expression must either be null or a function");
                    e.prototype = Object.create(t && t.prototype, {
                        constructor: {
                            value: e,
                            writable: !0,
                            configurable: !0
                        }
                    }), t && yn(e, t)
                }(t, r["Component"]), n = t, (a = [{
                    key: "componentWillUnmount",
                    value: function() {
                        this._destroy()
                    }
                }, {
                    key: "_destroy",
                    value: function() {
                        this._tether && (this._tether.destroy(), this._tether = null)
                    }
                }, {
                    key: "onPortalRef",
                    value: function(e) {
                        if (e) {
                            var t = Ie.a.findDOMNode(e),
                                n = Object.assign({}, bn, this.props.options);
                            this._tether = new an.a(function(e) {
                                for (var t = 1; t < arguments.length; t++) {
                                    var n = null != arguments[t] ? arguments[t] : {},
                                        r = Object.keys(n);
                                    "function" === typeof Object.getOwnPropertySymbols && (r = r.concat(Object.getOwnPropertySymbols(n).filter(function(e) {
                                        return Object.getOwnPropertyDescriptor(n, e).enumerable
                                    }))), r.forEach(function(t) {
                                        un(e, t, n[t])
                                    })
                                }
                                return e
                            }({
                                element: t,
                                target: Ie.a.findDOMNode(this.props.target)
                            }, n))
                        } else this._destroy()
                    }
                }, {
                    key: "render",
                    value: function() {
                        return o.a.createElement(Be, cn({}, this.props, {
                            onPortalRef: this.onPortalRef
                        }))
                    }
                }]) && ln(n.prototype, a), i && ln(n, i), t
            }(), tn.propTypes = {
                target: i.a.object,
                options: i.a.object
            }, tn.defaultProps = {
                options: {}
            }, function(e, t, n, r, o) {
                var a = {};
                Object.keys(r).forEach(function(e) {
                    a[e] = r[e]
                }), a.enumerable = !!a.enumerable, a.configurable = !!a.configurable, ("value" in a || a.initializer) && (a.writable = !0), a = n.slice().reverse().reduce(function(n, r) {
                    return r(e, t, n) || n
                }, a), o && void 0 !== a.initializer && (a.value = a.initializer ? a.initializer.call(o) : void 0, a.initializer = void 0), void 0 === a.initializer && (Object.defineProperty(e, t, a), a = null)
            }((en = nn).prototype, "onPortalRef", [Le.a], Object.getOwnPropertyDescriptor(en.prototype, "onPortalRef"), en.prototype), en),
            dn = n("./app/js/components/utils/IconButton.css"),
            mn = n.n(dn);

        function gn(e) {
            return (gn = "function" === typeof Symbol && "symbol" === typeof Symbol.iterator ? function(e) {
                return typeof e
            } : function(e) {
                return e && "function" === typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e
            })(e)
        }

        function vn() {
            return (vn = Object.assign || function(e) {
                for (var t = 1; t < arguments.length; t++) {
                    var n = arguments[t];
                    for (var r in n) Object.prototype.hasOwnProperty.call(n, r) && (e[r] = n[r])
                }
                return e
            }).apply(this, arguments)
        }

        function _n(e, t) {
            if (null == e) return {};
            var n, r, o = function(e, t) {
                if (null == e) return {};
                var n, r, o = {},
                    a = Object.keys(e);
                for (r = 0; r < a.length; r++) n = a[r], t.indexOf(n) >= 0 || (o[n] = e[n]);
                return o
            }(e, t);
            if (Object.getOwnPropertySymbols) {
                var a = Object.getOwnPropertySymbols(e);
                for (r = 0; r < a.length; r++) n = a[r], t.indexOf(n) >= 0 || Object.prototype.propertyIsEnumerable.call(e, n) && (o[n] = e[n])
            }
            return o
        }

        function On(e, t) {
            for (var n = 0; n < t.length; n++) {
                var r = t[n];
                r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(e, r.key, r)
            }
        }

        function jn(e, t) {
            return !t || "object" !== gn(t) && "function" !== typeof t ? function(e) {
                if (void 0 === e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
                return e
            }(e) : t
        }

        function wn(e) {
            return (wn = Object.setPrototypeOf ? Object.getPrototypeOf : function(e) {
                return e.__proto__ || Object.getPrototypeOf(e)
            })(e)
        }

        function kn(e, t) {
            return (kn = Object.setPrototypeOf || function(e, t) {
                return e.__proto__ = t, e
            })(e, t)
        }
        var En = function(e) {
            function t() {
                return function(e, t) {
                    if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function")
                }(this, t), jn(this, wn(t).apply(this, arguments))
            }
            var n, a, i;
            return function(e, t) {
                if ("function" !== typeof t && null !== t) throw new TypeError("Super expression must either be null or a function");
                e.prototype = Object.create(t && t.prototype, {
                    constructor: {
                        value: e,
                        writable: !0,
                        configurable: !0
                    }
                }), t && kn(e, t)
            }(t, r["PureComponent"]), n = t, (a = [{
                key: "render",
                value: function() {
                    var e = this.props,
                        t = e.size,
                        n = e.icon,
                        r = e.imageUrl,
                        a = e.tooltipDirection,
                        i = e.tooltip,
                        s = e.themeClass,
                        u = e.className,
                        l = _n(e, ["size", "icon", "imageUrl", "tooltipDirection", "tooltip", "themeClass", "className"]),
                        p = null;
                    return p = n ? o.a.createElement(ue, {
                        className: mn.a.childElement,
                        icon: n
                    }) : o.a.createElement("img", {
                        className: mn.a.childElement,
                        style: {
                            height: t,
                            width: t
                        },
                        src: r,
                        alt: ""
                    }), o.a.createElement(Q, vn({
                        text: i,
                        direction: a,
                        className: c()(mn.a.iconButton, s, u),
                        style: {
                            height: t,
                            width: t
                        }
                    }, l), p)
                }
            }]) && On(n.prototype, a), i && On(n, i), t
        }();
        En.propTypes = {
            size: i.a.number,
            tooltip: i.a.string,
            tooltipDirection: i.a.oneOf(u.b.all),
            className: i.a.string,
            themeClass: i.a.string.isRequired,
            icon: function(e, t, n) {
                return "undefined" !== typeof e.icon && "undefined" !== typeof e.imageUrl ? new Error("Invalid prop `" + t + "` supplied to `" + n + "`. You may only use either icon or imageUrl, not both.") : "undefined" === typeof e.icon && "undefined" === typeof e.imageUrl ? new Error("Invalid prop `" + t + "` supplied to `" + n + "`. You must use either icon or imageUrl.") : void 0
            },
            imageUrl: i.a.string
        }, En.defaultProps = {
            size: 28,
            tooltipDirection: u.b.N
        };
        var Sn = En,
            xn = n("./app/js/components/utils/MultiLabel.css"),
            Cn = n.n(xn);

        function Pn(e) {
            return (Pn = "function" === typeof Symbol && "symbol" === typeof Symbol.iterator ? function(e) {
                return typeof e
            } : function(e) {
                return e && "function" === typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e
            })(e)
        }

        function Tn() {
            return (Tn = Object.assign || function(e) {
                for (var t = 1; t < arguments.length; t++) {
                    var n = arguments[t];
                    for (var r in n) Object.prototype.hasOwnProperty.call(n, r) && (e[r] = n[r])
                }
                return e
            }).apply(this, arguments)
        }

        function Rn(e, t) {
            if (null == e) return {};
            var n, r, o = function(e, t) {
                if (null == e) return {};
                var n, r, o = {},
                    a = Object.keys(e);
                for (r = 0; r < a.length; r++) n = a[r], t.indexOf(n) >= 0 || (o[n] = e[n]);
                return o
            }(e, t);
            if (Object.getOwnPropertySymbols) {
                var a = Object.getOwnPropertySymbols(e);
                for (r = 0; r < a.length; r++) n = a[r], t.indexOf(n) >= 0 || Object.prototype.propertyIsEnumerable.call(e, n) && (o[n] = e[n])
            }
            return o
        }

        function Nn(e, t) {
            for (var n = 0; n < t.length; n++) {
                var r = t[n];
                r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(e, r.key, r)
            }
        }

        function Mn(e, t) {
            return !t || "object" !== Pn(t) && "function" !== typeof t ? function(e) {
                if (void 0 === e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
                return e
            }(e) : t
        }

        function An(e) {
            return (An = Object.setPrototypeOf ? Object.getPrototypeOf : function(e) {
                return e.__proto__ || Object.getPrototypeOf(e)
            })(e)
        }

        function In(e, t) {
            return (In = Object.setPrototypeOf || function(e, t) {
                return e.__proto__ = t, e
            })(e, t)
        }
        var Ln = function(e) {
            function t() {
                return function(e, t) {
                    if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function")
                }(this, t), Mn(this, An(t).apply(this, arguments))
            }
            var n, a, i;
            return function(e, t) {
                if ("function" !== typeof t && null !== t) throw new TypeError("Super expression must either be null or a function");
                e.prototype = Object.create(t && t.prototype, {
                    constructor: {
                        value: e,
                        writable: !0,
                        configurable: !0
                    }
                }), t && In(e, t)
            }(t, r["PureComponent"]), n = t, (a = [{
                key: "render",
                value: function() {
                    var e = this.props,
                        t = e.children,
                        n = e.className,
                        r = Rn(e, ["children", "className"]);
                    return o.a.createElement(_, Tn({
                        className: c()(Cn.a.root, n)
                    }, r), o.a.createElement("div", {
                        className: Cn.a.farRight
                    }, t))
                }
            }]) && Nn(n.prototype, a), i && Nn(n, i), t
        }();
        Ln.propTypes = {
            children: i.a.element.isRequired,
            className: i.a.string
        };
        var Dn = Ln,
            qn = n("./app/js/components/utils/CollapsableLabel.css"),
            Fn = n.n(qn);

        function zn(e) {
            return (zn = "function" === typeof Symbol && "symbol" === typeof Symbol.iterator ? function(e) {
                return typeof e
            } : function(e) {
                return e && "function" === typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e
            })(e)
        }

        function Gn() {
            return (Gn = Object.assign || function(e) {
                for (var t = 1; t < arguments.length; t++) {
                    var n = arguments[t];
                    for (var r in n) Object.prototype.hasOwnProperty.call(n, r) && (e[r] = n[r])
                }
                return e
            }).apply(this, arguments)
        }

        function Bn(e, t) {
            if (null == e) return {};
            var n, r, o = function(e, t) {
                if (null == e) return {};
                var n, r, o = {},
                    a = Object.keys(e);
                for (r = 0; r < a.length; r++) n = a[r], t.indexOf(n) >= 0 || (o[n] = e[n]);
                return o
            }(e, t);
            if (Object.getOwnPropertySymbols) {
                var a = Object.getOwnPropertySymbols(e);
                for (r = 0; r < a.length; r++) n = a[r], t.indexOf(n) >= 0 || Object.prototype.propertyIsEnumerable.call(e, n) && (o[n] = e[n])
            }
            return o
        }

        function Un(e, t) {
            for (var n = 0; n < t.length; n++) {
                var r = t[n];
                r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(e, r.key, r)
            }
        }

        function Hn(e, t) {
            return !t || "object" !== zn(t) && "function" !== typeof t ? function(e) {
                if (void 0 === e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
                return e
            }(e) : t
        }

        function Wn(e) {
            return (Wn = Object.setPrototypeOf ? Object.getPrototypeOf : function(e) {
                return e.__proto__ || Object.getPrototypeOf(e)
            })(e)
        }

        function Vn(e, t) {
            return (Vn = Object.setPrototypeOf || function(e, t) {
                return e.__proto__ = t, e
            })(e, t)
        }
        var Kn = function(e) {
            function t() {
                return function(e, t) {
                    if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function")
                }(this, t), Hn(this, Wn(t).apply(this, arguments))
            }
            var n, a, i;
            return function(e, t) {
                if ("function" !== typeof t && null !== t) throw new TypeError("Super expression must either be null or a function");
                e.prototype = Object.create(t && t.prototype, {
                    constructor: {
                        value: e,
                        writable: !0,
                        configurable: !0
                    }
                }), t && Vn(e, t)
            }(t, r["PureComponent"]), n = t, (a = [{
                key: "render",
                value: function() {
                    var e = this.props,
                        t = e.collapsed,
                        n = e.className,
                        r = Bn(e, ["collapsed", "className"]);
                    return o.a.createElement(_, Gn({
                        className: c()(Fn.a.root, n)
                    }, r), o.a.createElement(ue, {
                        icon: t ? "angle-up" : "angle-down",
                        className: Fn.a.toggle
                    }))
                }
            }]) && Un(n.prototype, a), i && Un(n, i), t
        }();
        Kn.propTypes = {
            collapsed: i.a.bool.isRequired,
            className: i.a.string
        };
        var $n = Kn,
            Yn = n("./app/js/components/utils/ContentWithHeader.css"),
            Jn = n.n(Yn);

        function Qn(e) {
            return (Qn = "function" === typeof Symbol && "symbol" === typeof Symbol.iterator ? function(e) {
                return typeof e
            } : function(e) {
                return e && "function" === typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e
            })(e)
        }

        function Xn() {
            return (Xn = Object.assign || function(e) {
                for (var t = 1; t < arguments.length; t++) {
                    var n = arguments[t];
                    for (var r in n) Object.prototype.hasOwnProperty.call(n, r) && (e[r] = n[r])
                }
                return e
            }).apply(this, arguments)
        }

        function Zn(e, t) {
            if (null == e) return {};
            var n, r, o = function(e, t) {
                if (null == e) return {};
                var n, r, o = {},
                    a = Object.keys(e);
                for (r = 0; r < a.length; r++) n = a[r], t.indexOf(n) >= 0 || (o[n] = e[n]);
                return o
            }(e, t);
            if (Object.getOwnPropertySymbols) {
                var a = Object.getOwnPropertySymbols(e);
                for (r = 0; r < a.length; r++) n = a[r], t.indexOf(n) >= 0 || Object.prototype.propertyIsEnumerable.call(e, n) && (o[n] = e[n])
            }
            return o
        }

        function er(e, t) {
            for (var n = 0; n < t.length; n++) {
                var r = t[n];
                r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(e, r.key, r)
            }
        }

        function tr(e, t) {
            return !t || "object" !== Qn(t) && "function" !== typeof t ? function(e) {
                if (void 0 === e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
                return e
            }(e) : t
        }

        function nr(e) {
            return (nr = Object.setPrototypeOf ? Object.getPrototypeOf : function(e) {
                return e.__proto__ || Object.getPrototypeOf(e)
            })(e)
        }

        function rr(e, t) {
            return (rr = Object.setPrototypeOf || function(e, t) {
                return e.__proto__ = t, e
            })(e, t)
        }
        var or = function(e) {
            function t() {
                return function(e, t) {
                    if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function")
                }(this, t), tr(this, nr(t).apply(this, arguments))
            }
            var n, a, i;
            return function(e, t) {
                if ("function" !== typeof t && null !== t) throw new TypeError("Super expression must either be null or a function");
                e.prototype = Object.create(t && t.prototype, {
                    constructor: {
                        value: e,
                        writable: !0,
                        configurable: !0
                    }
                }), t && rr(e, t)
            }(t, r["Component"]), n = t, (a = [{
                key: "render",
                value: function() {
                    var e = this.props,
                        t = e.header,
                        n = e.children,
                        r = e.className,
                        a = e.contentClassName,
                        i = Zn(e, ["header", "children", "className", "contentClassName"]);
                    return o.a.createElement("div", Xn({
                        className: c()(Jn.a.parent, r)
                    }, i), o.a.cloneElement(t, {
                        className: c()(Jn.a.header, t.props.className)
                    }), o.a.createElement("div", {
                        className: c()(Jn.a.contentWrapper, a)
                    }, o.a.cloneElement(n, {
                        className: c()(n.props.className, Jn.a.content)
                    })))
                }
            }]) && er(n.prototype, a), i && er(n, i), t
        }();
        or.propTypes = {
            header: i.a.element.isRequired,
            children: i.a.element.isRequired,
            className: i.a.string,
            contentClassName: i.a.string
        };
        var ar, ir, sr, cr, ur = or,
            lr = n("./app/js/managers/ShortcutManager.js"),
            pr = n("./app/js/components/utils/CopyButton.css"),
            fr = n.n(pr);

        function yr(e) {
            return (yr = "function" === typeof Symbol && "symbol" === typeof Symbol.iterator ? function(e) {
                return typeof e
            } : function(e) {
                return e && "function" === typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e
            })(e)
        }

        function br() {
            return (br = Object.assign || function(e) {
                for (var t = 1; t < arguments.length; t++) {
                    var n = arguments[t];
                    for (var r in n) Object.prototype.hasOwnProperty.call(n, r) && (e[r] = n[r])
                }
                return e
            }).apply(this, arguments)
        }

        function hr(e, t) {
            if (null == e) return {};
            var n, r, o = function(e, t) {
                if (null == e) return {};
                var n, r, o = {},
                    a = Object.keys(e);
                for (r = 0; r < a.length; r++) n = a[r], t.indexOf(n) >= 0 || (o[n] = e[n]);
                return o
            }(e, t);
            if (Object.getOwnPropertySymbols) {
                var a = Object.getOwnPropertySymbols(e);
                for (r = 0; r < a.length; r++) n = a[r], t.indexOf(n) >= 0 || Object.prototype.propertyIsEnumerable.call(e, n) && (o[n] = e[n])
            }
            return o
        }

        function dr(e, t) {
            for (var n = 0; n < t.length; n++) {
                var r = t[n];
                r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(e, r.key, r)
            }
        }

        function mr(e, t) {
            return !t || "object" !== yr(t) && "function" !== typeof t ? function(e) {
                if (void 0 === e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
                return e
            }(e) : t
        }

        function gr(e) {
            return (gr = Object.setPrototypeOf ? Object.getPrototypeOf : function(e) {
                return e.__proto__ || Object.getPrototypeOf(e)
            })(e)
        }

        function vr(e, t) {
            return (vr = Object.setPrototypeOf || function(e, t) {
                return e.__proto__ = t, e
            })(e, t)
        }

        function _r(e, t, n, r, o) {
            var a = {};
            return Object.keys(r).forEach(function(e) {
                a[e] = r[e]
            }), a.enumerable = !!a.enumerable, a.configurable = !!a.configurable, ("value" in a || a.initializer) && (a.writable = !0), a = n.slice().reverse().reduce(function(n, r) {
                return r(e, t, n) || n
            }, a), o && void 0 !== a.initializer && (a.value = a.initializer ? a.initializer.call(o) : void 0, a.initializer = void 0), void 0 === a.initializer && (Object.defineProperty(e, t, a), a = null), a
        }
        I.a && (cr = n("./node_modules/clipboard/dist/clipboard.js"));
        var Or, jr, wr, kr = (sr = ir = function(e) {
                function t() {
                    var e, n;
                    ! function(e, t) {
                        if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function")
                    }(this, t);
                    for (var r = arguments.length, o = new Array(r), a = 0; a < r; a++) o[a] = arguments[a];
                    return (n = mr(this, (e = gr(t)).call.apply(e, [this].concat(o)))).state = {
                        clipboardStatus: null
                    }, n._id = M.a.uniqueId("copybutton-"), n._clipboard = null, n
                }
                var n, a, i;
                return function(e, t) {
                    if ("function" !== typeof t && null !== t) throw new TypeError("Super expression must either be null or a function");
                    e.prototype = Object.create(t && t.prototype, {
                        constructor: {
                            value: e,
                            writable: !0,
                            configurable: !0
                        }
                    }), t && vr(e, t)
                }(t, r["Component"]), n = t, (a = [{
                    key: "componentDidMount",
                    value: function() {
                        var e = this;
                        this._clipboard = new cr("#".concat(this._id), {
                            text: function(t) {
                                var n = e.props.getCopyComponent();
                                return n.textContent || n.value || ""
                            }
                        }), this._clipboard.on("success", this.onCopySuccess), this._clipboard.on("error", this.onCopyError)
                    }
                }, {
                    key: "componentWillUnmount",
                    value: function() {
                        this._clipboard.off("success", this.onCopySuccess), this._clipboard.off("error", this.onCopyError), this._clipboard.destroy()
                    }
                }, {
                    key: "onCopyBtnMouseOut",
                    value: function() {
                        this.setState({
                            clipboardStatus: null
                        })
                    }
                }, {
                    key: "onCopySuccess",
                    value: function(e) {
                        this.setState({
                            clipboardStatus: Object(le.a)("Copied!")
                        }), e.clearSelection()
                    }
                }, {
                    key: "onCopyError",
                    value: function(e) {
                        this.setState({
                            clipboardStatus: Object(le.a)("Press {1} to copy", lr.a.formatCtrl("c"))
                        })
                    }
                }, {
                    key: "render",
                    value: function() {
                        var e = this.props,
                            t = e.className,
                            n = hr(e, ["className"]),
                            r = M.a.omit(n, ["getCopyComponent"]);
                        return o.a.createElement(Q, br({
                            direction: u.b.NW,
                            id: this._id,
                            text: this.state.clipboardStatus || Object(le.a)("Copy to clipboard"),
                            className: c()(fr.a.copyBtn, t),
                            onMouseOut: this.onCopyBtnMouseOut
                        }, r), o.a.createElement(ue, {
                            icon: "paste"
                        }))
                    }
                }]) && dr(n.prototype, a), i && dr(n, i), t
            }(), ir.propTypes = {
                className: i.a.string,
                getCopyComponent: i.a.func.isRequired
            }, _r((ar = sr).prototype, "onCopyBtnMouseOut", [Le.a], Object.getOwnPropertyDescriptor(ar.prototype, "onCopyBtnMouseOut"), ar.prototype), _r(ar.prototype, "onCopySuccess", [Le.a], Object.getOwnPropertyDescriptor(ar.prototype, "onCopySuccess"), ar.prototype), _r(ar.prototype, "onCopyError", [Le.a], Object.getOwnPropertyDescriptor(ar.prototype, "onCopyError"), ar.prototype), ar),
            Er = n("./app/js/components/utils/FloatingButton.css"),
            Sr = n.n(Er);

        function xr(e) {
            return (xr = "function" === typeof Symbol && "symbol" === typeof Symbol.iterator ? function(e) {
                return typeof e
            } : function(e) {
                return e && "function" === typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e
            })(e)
        }

        function Cr(e, t) {
            for (var n = 0; n < t.length; n++) {
                var r = t[n];
                r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(e, r.key, r)
            }
        }

        function Pr(e, t) {
            return !t || "object" !== xr(t) && "function" !== typeof t ? function(e) {
                if (void 0 === e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
                return e
            }(e) : t
        }

        function Tr(e) {
            return (Tr = Object.setPrototypeOf ? Object.getPrototypeOf : function(e) {
                return e.__proto__ || Object.getPrototypeOf(e)
            })(e)
        }

        function Rr(e, t) {
            return (Rr = Object.setPrototypeOf || function(e, t) {
                return e.__proto__ = t, e
            })(e, t)
        }
        var Nr = (wr = jr = function(e) {
                function t() {
                    var e, n;
                    ! function(e, t) {
                        if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function")
                    }(this, t);
                    for (var r = arguments.length, o = new Array(r), a = 0; a < r; a++) o[a] = arguments[a];
                    return (n = Pr(this, (e = Tr(t)).call.apply(e, [this].concat(o)))).state = {
                        topOffset: 0,
                        leftOffset: 0,
                        renderNull: !1
                    }, n._ref = null, n._parent = null, n._scrollTimeout = null, n
                }
                var n, a, i;
                return function(e, t) {
                    if ("function" !== typeof t && null !== t) throw new TypeError("Super expression must either be null or a function");
                    e.prototype = Object.create(t && t.prototype, {
                        constructor: {
                            value: e,
                            writable: !0,
                            configurable: !0
                        }
                    }), t && Rr(e, t)
                }(t, r["Component"]), n = t, (a = [{
                    key: "componentDidMount",
                    value: function() {
                        this._parent = this._ref.parentNode, this._parent.addEventListener("scroll", this.onScroll, {
                            capture: !1,
                            passive: !0
                        })
                    }
                }, {
                    key: "componentWillUnmount",
                    value: function() {
                        clearTimeout(this._scrollTimeout), this._parent.removeEventListener("scroll", this.onScroll, {
                            capture: !1,
                            passive: !0
                        })
                    }
                }, {
                    key: "onScroll",
                    value: function() {
                        var e = this;
                        this._ref.style.opacity = .01, clearTimeout(this._scrollTimeout), this._scrollTimeout = setTimeout(function() {
                            var t = e.props,
                                n = t.topPadding,
                                r = t.rightPos,
                                o = e._parent,
                                a = o.scrollTop,
                                i = o.scrollLeft;
                            e._ref.style.opacity = 1, e._ref.style.top = n + a + "px", e._ref.style.left = "calc(100% + ".concat(i - r, "px)")
                        }, 50)
                    }
                }, {
                    key: "render",
                    value: function() {
                        var e = this,
                            t = this.props,
                            n = t.className,
                            r = t.topPadding,
                            a = t.rightPos,
                            i = t.children;
                        return o.a.createElement("div", {
                            className: c()(Sr.a.root, n),
                            ref: function(t) {
                                t && (e._ref = Object(Ae.findDOMNode)(t))
                            },
                            style: {
                                top: r,
                                left: "calc(100% - ".concat(a, "px)")
                            }
                        }, i)
                    }
                }]) && Cr(n.prototype, a), i && Cr(n, i), t
            }(), jr.propTypes = {
                className: i.a.string,
                topPadding: i.a.number,
                rightPos: i.a.number,
                children: i.a.node.isRequired
            }, jr.defaultProps = {
                topPadding: 0,
                rightPos: 0
            }, function(e, t, n, r, o) {
                var a = {};
                Object.keys(r).forEach(function(e) {
                    a[e] = r[e]
                }), a.enumerable = !!a.enumerable, a.configurable = !!a.configurable, ("value" in a || a.initializer) && (a.writable = !0), a = n.slice().reverse().reduce(function(n, r) {
                    return r(e, t, n) || n
                }, a), o && void 0 !== a.initializer && (a.value = a.initializer ? a.initializer.call(o) : void 0, a.initializer = void 0), void 0 === a.initializer && (Object.defineProperty(e, t, a), a = null)
            }((Or = wr).prototype, "onScroll", [Le.a], Object.getOwnPropertyDescriptor(Or.prototype, "onScroll"), Or.prototype), Or),
            Mr = n("./node_modules/react-disqus-comments/build/main.js"),
            Ar = n.n(Mr),
            Ir = n("./app/js/components/utils/Disqus.css"),
            Lr = n.n(Ir);

        function Dr(e) {
            return (Dr = "function" === typeof Symbol && "symbol" === typeof Symbol.iterator ? function(e) {
                return typeof e
            } : function(e) {
                return e && "function" === typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e
            })(e)
        }

        function qr(e, t) {
            for (var n = 0; n < t.length; n++) {
                var r = t[n];
                r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(e, r.key, r)
            }
        }

        function Fr(e, t) {
            return !t || "object" !== Dr(t) && "function" !== typeof t ? function(e) {
                if (void 0 === e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
                return e
            }(e) : t
        }

        function zr(e) {
            return (zr = Object.setPrototypeOf ? Object.getPrototypeOf : function(e) {
                return e.__proto__ || Object.getPrototypeOf(e)
            })(e)
        }

        function Gr(e, t) {
            return (Gr = Object.setPrototypeOf || function(e, t) {
                return e.__proto__ = t, e
            })(e, t)
        }
        var Br = function(e) {
            function t() {
                return function(e, t) {
                    if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function")
                }(this, t), Fr(this, zr(t).apply(this, arguments))
            }
            var n, a, i;
            return function(e, t) {
                if ("function" !== typeof t && null !== t) throw new TypeError("Super expression must either be null or a function");
                e.prototype = Object.create(t && t.prototype, {
                    constructor: {
                        value: e,
                        writable: !0,
                        configurable: !0
                    }
                }), t && Gr(e, t)
            }(t, r["Component"]), n = t, (a = [{
                key: "render",
                value: function() {
                    var e = this.props,
                        t = e.url,
                        n = e.title;
                    if (null == t || null == n) return null;
                    var r = (t + " " + n).slice(0, 200).replace(/ /g, "-").replace(/[^-\w]/g, ""),
                        a = n.slice(0, 150).replace(/[^\w\- ]/g, "");
                    return o.a.createElement("div", {
                        className: Lr.a.disqus
                    }, o.a.createElement(_, {
                        text: Object(le.a)("Discussion")
                    }), o.a.createElement(Ar.a, {
                        shortname: "regex101",
                        identifier: r,
                        title: "Discussion about '".concat(a, "'"),
                        url: "https://regex101.com" + t
                    }))
                }
            }]) && qr(n.prototype, a), i && qr(n, i), t
        }();
        Br.propTypes = {
            url: i.a.string.isRequired,
            title: i.a.string.isRequired
        };
        var Ur, Hr, Wr, Vr = Br,
            Kr = n("./node_modules/react-dom/server.browser.js"),
            $r = n.n(Kr),
            Yr = function(e) {
                var t = $r.a.renderToStaticMarkup(e.children);
                return o.a.createElement("noscript", {
                    dangerouslySetInnerHTML: {
                        __html: t
                    }
                })
            },
            Jr = n("./node_modules/react-ga/dist/react-ga.js"),
            Qr = n.n(Jr);

        function Xr(e) {
            return (Xr = "function" === typeof Symbol && "symbol" === typeof Symbol.iterator ? function(e) {
                return typeof e
            } : function(e) {
                return e && "function" === typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e
            })(e)
        }

        function Zr(e, t) {
            for (var n = 0; n < t.length; n++) {
                var r = t[n];
                r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(e, r.key, r)
            }
        }

        function eo(e, t) {
            return !t || "object" !== Xr(t) && "function" !== typeof t ? function(e) {
                if (void 0 === e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
                return e
            }(e) : t
        }

        function to(e) {
            return (to = Object.setPrototypeOf ? Object.getPrototypeOf : function(e) {
                return e.__proto__ || Object.getPrototypeOf(e)
            })(e)
        }

        function no(e, t) {
            return (no = Object.setPrototypeOf || function(e, t) {
                return e.__proto__ = t, e
            })(e, t)
        }
        var ro = Object(Le.f)((Wr = Hr = function(e) {
                function t() {
                    return function(e, t) {
                        if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function")
                    }(this, t), eo(this, to(t).apply(this, arguments))
                }
                var n, o, a;
                return function(e, t) {
                    if ("function" !== typeof t && null !== t) throw new TypeError("Super expression must either be null or a function");
                    e.prototype = Object.create(t && t.prototype, {
                        constructor: {
                            value: e,
                            writable: !0,
                            configurable: !0
                        }
                    }), t && no(e, t)
                }(t, r["Component"]), n = t, (o = [{
                    key: "componentDidMount",
                    value: function() {
                        this._routeChanged()
                    }
                }, {
                    key: "componentDidUpdate",
                    value: function(e) {
                        this.props.location.pathname !== e.location.pathname && this._routeChanged()
                    }
                }, {
                    key: "_routeChanged",
                    value: function() {
                        Qr.a.set({
                            page: this.props.location.pathname
                        }), Qr.a.pageview(this.props.location.pathname)
                    }
                }, {
                    key: "render",
                    value: function() {
                        return null
                    }
                }]) && Zr(n.prototype, o), a && Zr(n, a), t
            }(), Hr.propTypes = {
                location: i.a.object.isRequired
            }, Ur = Wr)) || Ur,
            oo = n("./app/js/components/utils/DebuggerLink.js");
        n.d(t, "k", function() {
            return _
        }), n.d(t, "o", function() {
            return R
        }), n.d(t, "v", function() {
            return Q
        }), n.d(t, "i", function() {
            return ue
        }), n.d(t, "s", function() {
            return ve
        }), n.d(t, "a", function() {
            return Me
        }), n.d(t, "p", function() {
            return Be
        }), n.d(t, "u", function() {
            return ht
        }), n.d(t, "q", function() {
            return wt
        }), n.d(t, "l", function() {
            return It
        }), n.d(t, "r", function() {
            return Vt
        }), n.d(t, "w", function() {
            return rn
        }), n.d(t, "t", function() {
            return hn
        }), n.d(t, "j", function() {
            return Sn
        }), n.d(t, "m", function() {
            return Dn
        }), n.d(t, "b", function() {
            return $n
        }), n.d(t, "c", function() {
            return ur
        }), n.d(t, "d", function() {
            return kr
        }), n.d(t, "g", function() {
            return Nr
        }), n.d(t, "f", function() {
            return Vr
        }), n.d(t, "n", function() {
            return Yr
        }), n.d(t, "h", function() {
            return ro
        }), n.d(t, "e", function() {
            return oo.a
        })
    },
    "./app/js/components/utils/props/index.js": function(e, t, n) {
        "use strict";
        var r = {};
        n.r(r), n.d(r, "LARGE", function() {
            return c
        }), n.d(r, "MEDIUM", function() {
            return u
        }), n.d(r, "SMALL", function() {
            return l
        }), n.d(r, "TINY", function() {
            return p
        }), n.d(r, "all", function() {
            return f
        });
        var o = {};
        n.r(o), n.d(o, "SE", function() {
            return b
        }), n.d(o, "SW", function() {
            return h
        }), n.d(o, "S", function() {
            return d
        }), n.d(o, "NE", function() {
            return m
        }), n.d(o, "NW", function() {
            return g
        }), n.d(o, "N", function() {
            return v
        }), n.d(o, "E", function() {
            return _
        }), n.d(o, "W", function() {
            return O
        }), n.d(o, "all", function() {
            return j
        });
        var a = {};
        n.r(a), n.d(a, "CANCEL", function() {
            return w
        }), n.d(a, "OK", function() {
            return k
        }), n.d(a, "EXECUTE", function() {
            return E
        }), n.d(a, "DANGER", function() {
            return S
        }), n.d(a, "all", function() {
            return x
        });
        var i = {};
        n.r(i), n.d(i, "POSITIVE", function() {}), n.d(i, "NEGATIVE", function() {}), n.d(i, "NONE", function() {}), n.d(i, "all", function() {});
        var s = {};
        n.r(s), n.d(s, "LEFT", function() {
            return C
        }), n.d(s, "RIGHT", function() {
            return P
        }), n.d(s, "CENTER", function() {
            return T
        }), n.d(s, "all", function() {
            return R
        });
        var c = "large",
            u = "medium",
            l = "small",
            p = "tiny",
            f = [c, u, l, p],
            y = n("./app/js/components/utils/props/levels.js"),
            b = "se",
            h = "sw",
            d = "s",
            m = "ne",
            g = "nw",
            v = "n",
            _ = "e",
            O = "w",
            j = [b, h, d, m, g, v, _, O],
            w = "cancelButton",
            k = "okButton",
            E = "executeButton",
            S = "dangerButton",
            x = [k, w, S, E],
            C = "left",
            P = "right",
            T = "center",
            R = [C, P, T];
        n.d(t, "d", function() {
            return r
        }), n.d(t, "c", function() {
            return y
        }), n.d(t, "b", function() {
            return o
        }), n.d(t, "e", function() {
            return a
        }), n.d(t, !1, function() {
            return i
        }), n.d(t, "a", function() {
            return s
        })
    },
    "./app/js/components/utils/props/levels.js": function(e, t, n) {
        "use strict";
        n.r(t), n.d(t, "ERROR", function() {
            return r
        }), n.d(t, "WARN", function() {
            return o
        }), n.d(t, "INFO", function() {
            return a
        }), n.d(t, "all", function() {
            return i
        });
        var r = "error",
            o = "warn",
            a = "info",
            i = [r, o, a]
    },
    "./app/js/constants/AppConstants.js": function(e, t, n) {
        "use strict";
        n.d(t, "d", function() {
            return r
        }), n.d(t, "f", function() {
            return o
        }), n.d(t, "b", function() {
            return a
        }), n.d(t, "g", function() {
            return i
        }), n.d(t, "c", function() {
            return s
        }), n.d(t, "a", function() {
            return c
        }), n.d(t, "e", function() {
            return u
        });
        var r = "#regex-app",
            o = 500,
            a = "https://www.paypal.com/cgi-bin/webscr?cmd=_donations&business=firas%2edib%40gmail%2ecom&lc=US&item_name=Regex101&no_note=0&currency_code=USD&bn=PP%2dDonationsBF%3abtn_donate_SM%2egif%3aNonHostedGuest",
            i = "http://webchat.freenode.net/?channels=regex&nick=",
            s = 10,
            c = "regex101-delete-codes",
            u = "https://github.com/sponsors/firasdib"
    },
    "./app/js/constants/Delimiters.js": function(e, t, n) {
        var r;

        function o(e, t, n) {
            return t in e ? Object.defineProperty(e, t, {
                value: n,
                enumerable: !0,
                configurable: !0,
                writable: !0
            }) : e[t] = n, e
        }
        var a = n("./node_modules/lodash/uniq.js"),
            i = n("./app/js/constants/Flavors.js"),
            s = ["/", "~", "@", ";", "%", "`"],
            c = ['"', "'", '"""', "'''"],
            u = ["/"],
            l = ["`"];
        e.exports = (o(r = {}, i.PCRE, s), o(r, i.PYTHON, c), o(r, i.JAVASCRIPT, u), o(r, i.GOLANG, l), o(r, "all", a([].concat(s, c, u, l))), r)
    },
    "./app/js/constants/Flavors.js": function(e, t) {
        var n = ["pcre", "javascript", "python", "golang"];
        e.exports = {
            PCRE: "pcre",
            PYTHON: "python",
            JAVASCRIPT: "javascript",
            GOLANG: "golang",
            all: n
        }
    },
    "./app/js/constants/KeyboardShortcuts.js": function(e, t, n) {
        "use strict";
        n.r(t), n.d(t, "ESC", function() {
            return r
        }), n.d(t, "SAVE_REGEX", function() {
            return o
        }), n.d(t, "LEFT_ARROW", function() {
            return a
        }), n.d(t, "RIGHT_ARROW", function() {
            return i
        }), n.d(t, "SHIFT_LEFT_ARROW", function() {
            return s
        }), n.d(t, "SHIFT_RIGHT_ARROW", function() {
            return c
        }), n.d(t, "COMMA", function() {
            return u
        }), n.d(t, "DOT", function() {
            return l
        }), n.d(t, "BEGINNING", function() {
            return p
        }), n.d(t, "END", function() {
            return f
        }), n.d(t, "PLUS", function() {
            return y
        }), n.d(t, "MINUS", function() {
            return b
        });
        var r = {
                name: "escape",
                keyCode: 27,
                key: "Escape"
            },
            o = {
                name: "saveRegex",
                key: "s",
                keyCode: "83",
                metaKey: !0,
                alwaysConsume: !0
            },
            a = {
                name: "leftArrow",
                key: "ArrowLeft",
                keyCode: 37
            },
            i = {
                name: "rightArrow",
                key: "ArrowRight",
                keyCode: 39
            },
            s = {
                name: "shiftLeftArrow",
                key: "ArrowLeft",
                keyCode: 37,
                shiftKey: !0
            },
            c = {
                name: "shiftRightArrow",
                key: "ArrowRight",
                keyCode: 39,
                shiftKey: !0
            },
            u = {
                name: "comma",
                key: ",",
                keyCode: 44
            },
            l = {
                name: "dot",
                key: ".",
                keyCode: 46
            },
            p = {
                name: "beginning",
                key: "ArrowLeft",
                keyCode: 37,
                metaKey: !0
            },
            f = {
                name: "end",
                key: "ArrowRight",
                keyCode: 39,
                metaKey: !0
            },
            y = {
                name: "plus",
                key: "+",
                keyCode: 43
            },
            b = {
                name: "minus",
                key: "-",
                keyCode: 45
            }
    },
    "./app/js/constants/Languages.js": function(e, t) {
        e.exports = {
            ENGLISH: {
                text: "English",
                file: "english.json"
            },
            DUTCH: {
                text: "Dutch",
                file: "dutch.json"
            },
            FRENCH: {
                text: "French",
                file: "french.json"
            },
            GERMAN: {
                text: "German",
                file: "german.json"
            },
            CHINESE: {
                text: "Chinese",
                file: "zh.json"
            },
            SWEDISH: {
                text: "Swedish",
                file: "sv.json"
            }
        }
    },
    "./app/js/constants/LibraryOrder.js": function(e, t) {
        var n = ["MOST_RECENT", "MOST_POINTS", "LEAST_POINTS", "RELEVANCE"];
        e.exports = {
            MOST_RECENT: "MOST_RECENT",
            MOST_POINTS: "MOST_POINTS",
            LEAST_POINTS: "LEAST_POINTS",
            RELEVANCE: "RELEVANCE",
            all: n
        }
    },
    "./app/js/constants/MatchErrors.js": function(e, t, n) {
        "use strict";
        n.d(t, "a", function() {
            return r
        }), n.d(t, "g", function() {
            return o
        }), n.d(t, "d", function() {
            return a
        }), n.d(t, "c", function() {
            return i
        }), n.d(t, "b", function() {
            return s
        }), n.d(t, "f", function() {
            return c
        }), n.d(t, "e", function() {
            return u
        });
        var r = "PATTERN_ERROR",
            o = "TIMEOUT_ERROR",
            a = -1,
            i = -8,
            s = -11,
            c = -21,
            u = -26
    },
    "./app/js/constants/OS.js": function(e, t, n) {
        "use strict";
        n.d(t, "a", function() {
            return r
        }), n.d(t, "b", function() {
            return o
        });
        var r = "OSX",
            o = "WINDOWS"
    },
    "./app/js/constants/RegexErrors.js": function(e, t, n) {
        "use strict";
        n.d(t, "S", function() {
            return r
        }), n.d(t, "l", function() {
            return o
        }), n.d(t, "q", function() {
            return a
        }), n.d(t, "g", function() {
            return i
        }), n.d(t, "c", function() {
            return s
        }), n.d(t, "K", function() {
            return c
        }), n.d(t, "J", function() {
            return u
        }), n.d(t, "x", function() {
            return l
        }), n.d(t, "I", function() {
            return p
        }), n.d(t, "f", function() {
            return f
        }), n.d(t, "R", function() {
            return y
        }), n.d(t, "U", function() {
            return b
        }), n.d(t, "u", function() {
            return h
        }), n.d(t, "z", function() {
            return d
        }), n.d(t, "G", function() {
            return m
        }), n.d(t, "F", function() {
            return g
        }), n.d(t, "H", function() {
            return v
        }), n.d(t, "w", function() {
            return _
        }), n.d(t, "k", function() {
            return O
        }), n.d(t, "e", function() {
            return j
        }), n.d(t, "o", function() {
            return w
        }), n.d(t, "b", function() {
            return k
        }), n.d(t, "B", function() {
            return E
        }), n.d(t, "P", function() {
            return S
        }), n.d(t, "p", function() {
            return x
        }), n.d(t, "d", function() {
            return C
        }), n.d(t, "t", function() {
            return P
        }), n.d(t, "T", function() {
            return T
        }), n.d(t, "L", function() {
            return R
        }), n.d(t, "O", function() {
            return N
        }), n.d(t, "v", function() {
            return M
        }), n.d(t, "m", function() {
            return A
        }), n.d(t, "j", function() {
            return I
        }), n.d(t, "i", function() {
            return L
        }), n.d(t, "A", function() {
            return D
        }), n.d(t, "y", function() {
            return q
        }), n.d(t, "M", function() {
            return F
        }), n.d(t, "N", function() {
            return z
        }), n.d(t, "n", function() {
            return G
        }), n.d(t, "Q", function() {
            return B
        }), n.d(t, "r", function() {
            return U
        }), n.d(t, "s", function() {
            return H
        }), n.d(t, "a", function() {
            return W
        }), n.d(t, "E", function() {
            return V
        }), n.d(t, "D", function() {
            return K
        }), n.d(t, "C", function() {
            return $
        }), n.d(t, "h", function() {
            return Y
        });
        var r = "UNMATCHED_PARENTHESIS",
            o = "INCOMPLETE_GROUP",
            a = "INVALID_CONDITION",
            i = "DUPLICATE_SUBPATTERN_NAME",
            s = "BAD_SUBPATTERN_NAME",
            c = "TOO_MANY_ALTERNATIVES",
            u = "TOO_LONG_SUBPATTERN_NAME",
            l = "LOOKBEHIND_VARIABLE_WIDTH",
            p = "TOKEN_NOT_ALLOWED_IN_LOOKBEHIND",
            f = "DUPLICATE_SUBPATTERN_BAD_INDEX",
            y = "UNKNOWN_VERB",
            b = "VERB_NOT_AT_START",
            h = "INVALID_REFERENCE",
            d = "NOT_QUANTIFIABLE",
            m = "QUANTIFIER_OUT_OF_ORDER",
            g = "QUANTIFIER_LOOKBEHIND_DISALLOWED",
            v = "QUANTIFIER_TOO_LARGE",
            _ = "LONE_BRACKET",
            O = "INCOMPLETE_CHARCLASS",
            j = "CHARCLASS_RANGE_OUT_OF_ORDER",
            w = "INVALID_CHARCLASS_RANGE_META",
            k = "BAD_CHARCLASS_RANGE_RIGHT",
            E = "POSIX_OUTSIDE_CHARCLASS",
            S = "UNKNOWN_POSIX_CLASS",
            x = "INVALID_CHARCLASS_RANGE_PCRE_BUG",
            C = "CHARCLASS_RANGE_INVALID",
            P = "INVALID_POSIX_WORD_BOUNDARY",
            T = "UNSUPPORTED_ESCAPE_SEQUENCE",
            R = "TRAILING_BACKSLASH",
            N = "UNESCAPED_DELIMITER",
            M = "INVALID_UNICODE_ESCAPE",
            A = "INCOMPLETE_HEX_TOKEN",
            I = "HEX_VALUE_TOO_LARGE",
            L = "HEX_SURROGATES",
            D = "OCTAL_VALUE_TOO_LARGE",
            q = "MISSING_START_QUOTE",
            F = "TRUNCATING_GROUP_ALTERNATOR",
            z = "TRUNCATING_PATTERN_ALTERNATOR",
            G = "INCOMPLETE_TOKEN",
            B = "UNKNOWN_UNICODE_SCRIPT",
            U = "INVALID_CONTROL_CHAR",
            H = "INVALID_ESCAPE_SEQUENCE",
            W = "BACKSPACE_NOT_SUPPORTED",
            V = "PYTHON_INLINE_MODIFIERS_BAD_POS",
            K = "PYTHON_CONFLICTING_FLAGS_A_U",
            $ = "PYTHON_BOGUS_ESCAPE",
            Y = "GOLANG_INVALID_ESCAPE_BACKTICK"
    },
    "./app/js/constants/RegexFlags.js": function(e, t, n) {
        var r;

        function o(e, t, n) {
            return t in e ? Object.defineProperty(e, t, {
                value: n,
                enumerable: !0,
                configurable: !0,
                writable: !0
            }) : e[t] = n, e
        }
        var a = n("./node_modules/can-use-dom/index.js"),
            i = n("./app/js/constants/Flavors.js"),
            s = "gmi";
        a || (s += "syu"), e.exports = (o(r = {}, i.PCRE, "gmixXsuUAJD"), o(r, i.JAVASCRIPT, s), o(r, i.PYTHON, "gmixsua"), o(r, i.GOLANG, "gmisU"), o(r, "extendFlags", function(t, n) {
            e.exports[t] += n
        }), r)
    },
    "./app/js/constants/RegexTypes.js": function(e, t, n) {
        "use strict";
        n.d(t, "B", function() {
            return r
        }), n.d(t, "a", function() {
            return o
        }), n.d(t, "R", function() {
            return a
        }), n.d(t, "r", function() {
            return i
        }), n.d(t, "q", function() {
            return s
        }), n.d(t, "A", function() {
            return c
        }), n.d(t, "L", function() {
            return u
        }), n.d(t, "X", function() {
            return l
        }), n.d(t, "J", function() {
            return p
        }), n.d(t, "u", function() {
            return f
        }), n.d(t, "V", function() {
            return y
        }), n.d(t, "W", function() {
            return b
        }), n.d(t, "v", function() {
            return h
        }), n.d(t, "n", function() {
            return d
        }), n.d(t, "l", function() {
            return m
        }), n.d(t, "s", function() {
            return g
        }), n.d(t, "Z", function() {
            return v
        }), n.d(t, "U", function() {
            return _
        }), n.d(t, "D", function() {
            return O
        }), n.d(t, "c", function() {
            return j
        }), n.d(t, "d", function() {
            return w
        }), n.d(t, "T", function() {
            return k
        }), n.d(t, "I", function() {
            return E
        }), n.d(t, "e", function() {
            return S
        }), n.d(t, "K", function() {
            return x
        }), n.d(t, "i", function() {
            return C
        }), n.d(t, "h", function() {
            return P
        }), n.d(t, "P", function() {
            return T
        }), n.d(t, "o", function() {
            return R
        }), n.d(t, "Q", function() {
            return N
        }), n.d(t, "z", function() {
            return M
        }), n.d(t, "H", function() {
            return A
        }), n.d(t, "m", function() {
            return I
        }), n.d(t, "j", function() {
            return L
        }), n.d(t, "k", function() {
            return D
        }), n.d(t, "C", function() {
            return q
        }), n.d(t, "E", function() {
            return F
        }), n.d(t, "f", function() {
            return z
        }), n.d(t, "b", function() {
            return G
        }), n.d(t, "g", function() {
            return B
        }), n.d(t, "t", function() {
            return U
        }), n.d(t, "Y", function() {
            return H
        }), n.d(t, "G", function() {
            return W
        }), n.d(t, "O", function() {
            return V
        }), n.d(t, "F", function() {
            return K
        }), n.d(t, "N", function() {
            return $
        }), n.d(t, "M", function() {
            return Y
        }), n.d(t, "S", function() {
            return J
        }), n.d(t, "p", function() {
            return Q
        }), n.d(t, "y", function() {
            return X
        }), n.d(t, "w", function() {
            return Z
        }), n.d(t, "x", function() {
            return ee
        }), n.d(t, "bb", function() {
            return te
        }), n.d(t, "cb", function() {
            return ne
        }), n.d(t, "ab", function() {
            return re
        });
        var r = "META",
            o = "ALTERNATOR",
            a = "QUANTIFIER",
            i = "ESCAPED_LITERAL",
            s = "END_QUOTE",
            c = "LONELY_END_QUOTE",
            u = "OPEN_QUOTE",
            l = "UNICODE_PROPERTY",
            p = "OCTAL",
            f = "HEX",
            y = "UNICODE_ESCAPE",
            b = "UNICODE_LONG_ESCAPE",
            h = "INLINE_MODIFIERS",
            d = "DELIMITER",
            m = "CONTROL_SEQUENCE",
            g = "GLOBAL_FLAGS",
            v = "VERTICAL_TAB",
            _ = "SUBPATTERN_REFERENCE_GROUP",
            O = "NAMED_BACKREFERENCE",
            j = "BACKREFERENCE_G",
            w = "BACKREFERENCE_K",
            k = "SUBPATTERN_REFERENCE_G",
            E = "NUMERIC_BACKREFERENCE",
            S = "BACKSPACE",
            x = "OPEN_CHARCLASS",
            C = "CLOSE_CHARCLASS",
            P = "CHARCLASS_RANGE",
            T = "POSIX",
            R = "EMPTY_CHARCLASS",
            N = "POSIX_WORD_BOUNDARY",
            M = "LINE_COMMENT",
            A = "GROUP",
            I = "DEFINE",
            L = "CONDITIONAL",
            D = "CONDITIONAL_CONDITION",
            q = "MODIFIER_GROUP",
            F = "NAMED_GROUP",
            z = "BRANCH_RESET_GROUP",
            G = "ATOMIC_GROUP",
            B = "CAPTURING_GROUP",
            U = "GROUP_COMMENT",
            H = "VERB",
            W = "NEGATIVE_LOOKBEHIND",
            V = "POSITIVE_LOOKBEHIND",
            K = "NEGATIVE_LOOKAHEAD",
            $ = "POSITIVE_LOOKAHEAD",
            Y = "PLAIN_TEXT",
            J = "START_CASE_MODIFIER",
            Q = "END_CASE_MODIFIER",
            X = "INSERT_PRECEDES_MATCH",
            Z = "INSERT_FOLLOWS_MATCH",
            ee = "INSERT_FULL_MATCH";

        function te(e) {
            return -1 !== [A, I, L, q, F, z, G, B, W, V, K, $].indexOf(e)
        }

        function ne(e) {
            return -1 !== [W, V, K, $].indexOf(e)
        }

        function re(e) {
            return -1 !== [A, I, L, q, F, z, G, B, W, V, K, $, u, x, o].indexOf(e)
        }
    },
    "./app/js/constants/ServiceProviders.js": function(e, t) {
        e.exports = {
            GOOGLE: "google",
            TWITTER: "twitter",
            GITHUB: "github"
        }
    },
    "./app/js/constants/TabIndex.js": function(e, t, n) {
        "use strict";
        n.d(t, "b", function() {
            return r
        }), n.d(t, "a", function() {
            return o
        }), n.d(t, "d", function() {
            return a
        }), n.d(t, "c", function() {
            return i
        }), n.d(t, "g", function() {
            return s
        }), n.d(t, "h", function() {
            return c
        }), n.d(t, "i", function() {
            return u
        }), n.d(t, "f", function() {
            return l
        }), n.d(t, "e", function() {
            return p
        });
        var r = 1,
            o = 2,
            a = 3,
            i = 4,
            s = 3,
            c = 4,
            u = 5,
            l = 6,
            p = 7
    },
    "./app/js/constants/UserHistoryScope.js": function(e, t) {
        e.exports = {
            ALL: "all",
            MINE: "mine",
            FAVORITES: "favorites",
            LIBRARY: "library"
        }
    },
    "./app/js/containers/BasicContainer.css": function(e, t, n) {
        e.exports = {
            root: "_1lOmP"
        }
    },
    "./app/js/containers/FullscreenLayer.css": function(e, t, n) {
        e.exports = {
            fullscreenContainer: "_8tzUw",
            header: "_2fzJ3",
            exitBtn: "_1gEE1",
            title: "_3CIG0",
            logo: "_1LDpW",
            opacityContainer: "SyCFP",
            content: "_2IZe0",
            component: "BMeh2",
            left: "_3TGvA",
            center: "_1hthc",
            right: "_354Tt",
            enter: "_23uLT",
            enterActive: "_3pfzx",
            leave: "SCCXZ",
            leaveActive: "_1JFuh",
            exitBtnTheme: "lvHcL"
        }
    },
    "./app/js/containers/MainContainer.css": function(e, t, n) {
        e.exports = {
            root: "_2ITh2",
            contentArea: "fy8Gb",
            alwaysCollapseLeftSidebar: "_1aniE"
        }
    },
    "./app/js/containers/MarkdownContainer.css": function(e, t, n) {
        e.exports = {
            markdownContainer: "_3sGVC"
        }
    },
    "./app/js/managers/DeleteCodeManager.js": function(e, t, n) {
        "use strict";
        n.d(t, "a", function() {
            return i
        }), n.d(t, "c", function() {
            return s
        }), n.d(t, "b", function() {
            return c
        });
        var r = n("./app/js/utils/log.js"),
            o = n("./app/js/utils/StorageInterface.js"),
            a = n("./app/js/constants/AppConstants.js");

        function i(e, t) {
            var n = {
                permalinkFragment: e,
                deleteCode: t
            };
            return o.a.get(a.a).then(function(t) {
                var i = (t || []).slice();
                if (!i.find(function(t) {
                        return t.permalinkFragment === e
                    })) return i.push(n), o.a.save(a.a, i).then(function() {
                    return r.a.info("Saved new delete code", n)
                });
                r.a.info("Delete code for '".concat(e, "' already stored"))
            }).catch(function(e) {
                return r.a.error("Unable to save new delete code", n, e)
            })
        }

        function s(e) {
            return o.a.get(a.a).then(function(t) {
                var n = (t = t || []).find(function(t) {
                        return t.permalinkFragment === e
                    }),
                    r = n ? t.indexOf(n) : -1;
                if (-1 !== r) {
                    var i = t.slice();
                    return i.splice(r, 1), o.a.save(a.a, i)
                }
                throw new Error
            }).then(function() {
                return r.a.info("Removed delete code for permalink fragment", e)
            }).catch(function(t) {
                return r.a.warn("Unable to remove delete code for permalink fragment", e, t)
            })
        }

        function c(e) {
            return o.a.get(a.a).then(function(t) {
                var n = (t = t || []).find(function(t) {
                    return t.permalinkFragment === e
                });
                if (n) return r.a.info("Retrieved delete code for permalink fragment", e), n.deleteCode;
                r.a.warn("Unable to retrieve delete code for permalink fragment", e)
            }).catch(function(t) {
                return r.a.error("Unable to retrieve delete code for permalink fragment", e, t)
            })
        }
    },
    "./app/js/managers/ShortcutManager.js": function(e, t, n) {
        "use strict";
        var r, o = n("./app/js/constants/KeyboardShortcuts.js"),
            a = n("./app/js/constants/OS.js"),
            i = n("./app/js/utils/decorators/index.js"),
            s = n("./app/js/utils/events.js");

        function c(e, t) {
            for (var n = 0; n < t.length; n++) {
                var r = t[n];
                r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(e, r.key, r)
            }
        }

        function u(e, t, n, r, o) {
            var a = {};
            return Object.keys(r).forEach(function(e) {
                a[e] = r[e]
            }), a.enumerable = !!a.enumerable, a.configurable = !!a.configurable, ("value" in a || a.initializer) && (a.writable = !0), a = n.slice().reverse().reduce(function(n, r) {
                return r(e, t, n) || n
            }, a), o && void 0 !== a.initializer && (a.value = a.initializer ? a.initializer.call(o) : void 0, a.initializer = void 0), void 0 === a.initializer && (Object.defineProperty(e, t, a), a = null), a
        }
        var l = (u((r = function() {
            function e() {
                ! function(e, t) {
                    if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function")
                }(this, e), this._os = null, this._disabledShortcuts = []
            }
            var t, n, r;
            return t = e, (n = [{
                key: "initialize",
                value: function(e) {
                    this._setOS(e), document.addEventListener("keydown", this.onKeyDown), s.a.on({
                        "enable:shortcut": this.onEnableShortcut,
                        "disable:shortcut": this.onDisableShortcut
                    })
                }
            }, {
                key: "_setOS",
                value: function(e) {
                    this._os = e
                }
            }, {
                key: "toString",
                value: function(e) {
                    var t = [];
                    e.metaKey && (this._os && this._os !== a.b ? this._os === a.a && t.push("\u2318") : t.push("Ctrl")), e.shiftKey && t.push("\u21e7"), e.altKey && t.push("\u2325");
                    var n = null;
                    switch (e.keyCode) {
                        case 37:
                            n = "\u2190";
                            break;
                        case 38:
                            n = "\u2191";
                            break;
                        case 39:
                            n = "\u2192";
                            break;
                        case 40:
                            n = "\u2193";
                            break;
                        default:
                            n = String.fromCharCode(e.keyCode)
                    }
                    return t.push(n), t.map(function(e) {
                        return e.toLowerCase()
                    }).join("+")
                }
            }, {
                key: "formatCtrl",
                value: function(e) {
                    return "".concat(this._os === a.b ? "Ctrl" : "\u2318", "+").concat(e)
                }
            }, {
                key: "onEnableShortcut",
                value: function(e, t) {
                    this._disabledShortcuts = this._disabledShortcuts.filter(function(e) {
                        return e !== t.name
                    })
                }
            }, {
                key: "onDisableShortcut",
                value: function(e, t) {
                    this._disabledShortcuts.push(t.name)
                }
            }, {
                key: "onKeyDown",
                value: function(e) {
                    for (var t in o)
                        if (Object.prototype.hasOwnProperty.call(o, t)) {
                            var n = o[t],
                                r = !!n.metaKey === !!(this._os === a.a ? e.metaKey : e.ctrlKey),
                                i = !!n.altKey === !!e.altKey,
                                c = !!n.shiftKey === !!e.shiftKey;
                            if ((n.keyCode === e.which || e.key && n.key.toLowerCase() === e.key.toLowerCase()) && r && i && c && -1 === this._disabledShortcuts.indexOf(n.name)) {
                                var u = "key:".concat(n.name);
                                (s.a.listeners(u).length > 0 || n.alwaysConsume) && (e.preventDefault(), e.stopPropagation(), s.a.emit(u))
                            }
                        }
                }
            }]) && c(t.prototype, n), r && c(t, r), e
        }()).prototype, "onEnableShortcut", [i.a], Object.getOwnPropertyDescriptor(r.prototype, "onEnableShortcut"), r.prototype), u(r.prototype, "onDisableShortcut", [i.a], Object.getOwnPropertyDescriptor(r.prototype, "onDisableShortcut"), r.prototype), u(r.prototype, "onKeyDown", [i.a], Object.getOwnPropertyDescriptor(r.prototype, "onKeyDown"), r.prototype), r);
        t.a = new l
    },
    "./app/js/parsers/BaseParser.js": function(e, t, n) {
        "use strict";
        var r = n("./app/js/utils/codemirror.js"),
            o = n("./app/js/constants/MatchErrors.js");

        function a(e) {
            return (a = "function" === typeof Symbol && "symbol" === typeof Symbol.iterator ? function(e) {
                return typeof e
            } : function(e) {
                return e && "function" === typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e
            })(e)
        }

        function i(e, t) {
            for (var n = 0; n < t.length; n++) {
                var r = t[n];
                r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(e, r.key, r)
            }
        }
        var s = function() {
            function e() {
                ! function(e, t) {
                    if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function")
                }(this, e), this._tokens = null, this._currentMarks = null, this._positionToTokenMap = null, this._initialState = null, this._patternError = null, this._tokens = [], this._currentMarks = [], this._positionToTokenMap = [], this._initialState = {}
            }
            var t, n, s;
            return t = e, s = [{
                key: "copyState",
                value: function(e) {
                    var t = {};
                    for (var n in e)
                        if (e.hasOwnProperty(n)) {
                            var r = e[n];
                            r instanceof Array ? r = r.slice() : null != r && "object" === a(r) && (r = Object.assign({}, r)), t[n] = r
                        } return t
                }
            }, {
                key: "getGroupedTokens",
                value: function() {
                    for (var e = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : this.tokens, t = [], n = null, r = 0, o = e.length; r < o; r++) {
                        var a = e[r];
                        if (a.string) {
                            var i = {
                                string: a.string,
                                style: a.style
                            };
                            a.editorPosition && (i.editorPosition = {
                                start: {
                                    pos: a.editorPosition.start.pos,
                                    line: a.editorPosition.start.line
                                },
                                end: {
                                    pos: a.editorPosition.end.pos,
                                    line: a.editorPosition.end.line
                                }
                            }), n && n.style === i.style ? (n.string += i.string, i.editorPosition && (n.editorPosition.end = i.editorPosition.end)) : (t.push(i), n = i)
                        }
                    }
                    return t
                }
            }], (n = [{
                key: "_token",
                value: function() {
                    throw new Error("Token function not implemented for parser.")
                }
            }, {
                key: "paint",
                value: function(t) {
                    var n = this,
                        o = e.getGroupedTokens(this._tokens);
                    t.operation(function() {
                        for (var e = 0, a = n._currentMarks.length; e < a; e++) n._currentMarks[e].clear();
                        n._currentMarks = [];
                        for (var i = 0, s = o.length; i < s; i++) {
                            var c = o[i],
                                u = r.a.Pos(c.editorPosition.start.line, c.editorPosition.start.pos),
                                l = r.a.Pos(c.editorPosition.end.line, c.editorPosition.end.pos),
                                p = t.markText(u, l, {
                                    className: c.style
                                });
                            n._currentMarks.push(p)
                        }
                    })
                }
            }, {
                key: "clearPaint",
                value: function(e) {
                    var t = this;
                    e.operation(function() {
                        for (var e = 0, n = t._currentMarks.length; e < n; e++) t._currentMarks[e].clear()
                    })
                }
            }, {
                key: "getTokenAtPos",
                value: function(e) {
                    return this._positionToTokenMap[e]
                }
            }, {
                key: "tokens",
                get: function() {
                    return this._tokens
                }
            }, {
                key: "status",
                get: function() {
                    return this._patternError ? o.a : null
                }
            }]) && i(t.prototype, n), s && i(t, s), e
        }();
        t.a = s
    },
    "./app/js/parsers/ExplanationEngine/explainErrors.js": function(e, t, n) {
        "use strict";
        n.d(t, "b", function() {
            return f
        }), n.d(t, "a", function() {
            return y
        });
        var r = n("./node_modules/react/index.js"),
            o = n.n(r),
            a = n("./node_modules/classnames/index.js"),
            i = n.n(a),
            s = n("./app/js/utils/log.js"),
            c = n("./app/js/utils/t.js"),
            u = n("./app/js/constants/RegexErrors.js"),
            l = n("./app/js/parsers/ExplanationEngine/tokenStyles.css"),
            p = n.n(l);

        function f(e) {
            return e.map(function(e, t) {
                return e.error ? o.a.createElement("div", {
                    key: "error-explanation-".concat(t)
                }, o.a.createElement("span", {
                    className: i()(p.a.token, e.style)
                }, e.string), " ", y(e.error)) : null
            })
        }

        function y(e) {
            switch (e) {
                case u.l:
                    return Object(c.a)("Incomplete group structure");
                case u.q:
                    return Object(c.a)("The condition is invalid (you may be referencing a non-existent subpattern or group)");
                case u.g:
                    return Object(c.a)("A subpattern name must be unique");
                case u.c:
                    return Object(c.a)("A subpattern name must be alpha numeric and may not begin with a digit");
                case u.K:
                    return Object(c.a)("There are too many alternatives within the parent structure");
                case u.R:
                    return Object(c.a)("This verb is unknown or invalid");
                case u.U:
                    return Object(c.a)("This verb must be placed at the start of the regex");
                case u.u:
                    return Object(c.a)("This token references a non-existent or invalid subpattern");
                case u.z:
                    return Object(c.a)("The preceding token is not quantifiable");
                case u.G:
                    return Object(c.a)("The quantifier range is out of order");
                case u.k:
                    return Object(c.a)("Character class missing closing bracket");
                case u.e:
                    return Object(c.a)("Character range is out of order");
                case u.b:
                    return Object(c.a)("The range is invalid because the rightmost token is not rangeable");
                case u.B:
                    return Object(c.a)("A posix character class may only appear inside a character class");
                case u.P:
                    return Object(c.a)("The posix class is unknown/invalid");
                case u.T:
                    return Object(c.a)("This token is not supported in the selected flavor");
                case u.L:
                    return Object(c.a)("Pattern may not end with a trailing backslash");
                case u.O:
                    return Object(c.a)("An unescaped delimiter must be escaped with a backslash (\\)");
                case u.m:
                    return Object(c.a)("No hex code was specified");
                case u.j:
                    return Object(c.a)("The character offset is too large");
                case u.i:
                    return Object(c.a)("Surrogates are disallowed");
                case u.A:
                    return Object(c.a)("The value specified is too large");
                case u.y:
                    return Object(c.a)("An end quote token encountered before a start quote token");
                case u.M:
                    return Object(c.a)("An alternator at this position effectively truncates the group, rendering any other tokens beyond this point useless");
                case u.N:
                    return Object(c.a)("An alternator at this position effectively truncates the entire pattern, rendering any other tokens beyond this point useless");
                case u.n:
                    return Object(c.a)("The token is incomplete");
                case u.Q:
                    return Object(c.a)("This script is unknown/invalid");
                case u.r:
                    return Object(c.a)("Invalid control character");
                case u.s:
                    return Object(c.a)("This token has no special meaning and has thus been rendered erroneous");
                case u.J:
                    return Object(c.a)("A named subpattern may not have a name which length exceeds 32 characters");
                case u.x:
                    return Object(c.a)("A lookbehind assertion has to be fixed width");
                case u.I:
                    return Object(c.a)("This token can not be used in a lookbehind as it makes it non-fixed width");
                case u.F:
                    return Object(c.a)("A quantifier inside a lookbehind makes it non-fixed width");
                case u.E:
                    return Object(c.a)("Regex101 only supports inline modifiers to be placed at the start of the regex for python (which is also best practice)");
                case u.D:
                    return Object(c.a)("You can not set both the `a` and `u` flag simultaneously");
                case u.o:
                    return Object(c.a)("You can not create a range with a shorthand escape sequences");
                case u.a:
                    return Object(c.a)("The escape sequence to match backspace is not supported in the selected flavor");
                case u.p:
                    return Object(c.a)("Due to a bug in PCRE creating ranges with an escaped literal is unsafe. To avoid this, simply use the literal representation instead.");
                case u.v:
                    return Object(c.a)("Invalid unicode escape");
                case u.H:
                    return Object(c.a)("Quantifier range is too large");
                case u.f:
                    return Object(c.a)("Groups with the same index must either have the same name or both be non-named groups");
                case u.S:
                    return Object(c.a)("Unmatched parenthesis");
                case u.w:
                    return Object(c.a)("This token must be escaped when the `u` flag is enabled unless they form a valid quantifier");
                case u.d:
                    return Object(c.a)("The range is invalid because either the left or right token is erroneous");
                case u.C:
                    return Object(c.a)("Bogus escape: this escape is not recognized in the python flavor");
                case u.h:
                    return Object(c.a)("Backticks can not be used in a raw string, use \\x60 instead");
                case u.t:
                    return Object(c.a)("POSIX Word Boundaries must be the only item inside a character class.");
                default:
                    return s.a.error(new Error("Unknown error type '".concat(e, "'"))), null
            }
        }
    },
    "./app/js/parsers/ExplanationEngine/explainToken.js": function(e, t, n) {
        "use strict";
        var r = n("./node_modules/react/index.js"),
            o = n.n(r),
            a = n("./node_modules/classnames/index.js"),
            i = n.n(a),
            s = n("./app/js/utils/log.js"),
            c = n("./app/js/utils/t.js"),
            u = n("./app/js/constants/RegexTypes.js"),
            l = n("./app/js/parsers/ExplanationEngine/explainErrors.js"),
            p = n("./app/js/components/utils/index.js"),
            f = n("./app/js/components/utils/props/index.js"),
            y = n("./app/js/constants/Flavors.js"),
            b = n.n(y),
            h = n("./app/js/parsers/ExplanationEngine/utils.js"),
            d = n("./app/js/parsers/ExplanationEngine/tokenStyles.css"),
            m = n.n(d);

        function g(e) {
            var t = arguments.length > 1 && void 0 !== arguments[1] && arguments[1],
                n = arguments.length > 2 && void 0 !== arguments[2] && arguments[2],
                r = e.state.lineTerminators,
                a = "";
            t && -1 !== r.indexOf("\\r") && -1 !== r.indexOf("\\n") && -1 === r.indexOf("\\r\\n") && (a = "(" + Object(c.a)("with no special consideration for the \\r\\n sequence") + ")");
            var i = "";
            return i = n ? Object(c.a)("Lines are delimited by {1} {2}", r.join(", "), a) : Object(c.a)("Line terminator(s) are {1} {2}", r.join(", "), a), o.a.createElement(p.v, {
                text: i,
                direction: f.b.NW,
                className: m.a.tooltip,
                multiline: !0
            }, o.a.createElement(p.i, {
                icon: "help-circled"
            }))
        }
        var v = function(e, t) {
                var n = e.string.length > 1 ? e.string.charAt(1) : e.string.charAt(0),
                    r = -1 !== e.flags.indexOf("u"),
                    a = -1 !== e.flags.indexOf("m"),
                    i = -1 !== e.flags.indexOf("s"),
                    u = -1 !== e.flags.indexOf("D");
                if ("w" === n) return r ? {
                    explanation: o.a.createElement(p.s, {
                        text: "match any word character in any script (equal to {1})",
                        ph1: Object(h.f)("[\\p{L}\\p{N}_]")
                    })
                } : {
                    explanation: o.a.createElement(p.s, {
                        text: "matches any word character (equal to {1})",
                        ph1: Object(h.f)("[a-zA-Z0-9_]")
                    })
                };
                if ("W" === n) return r ? {
                    explanation: o.a.createElement(p.s, {
                        text: "match any non-word character in any script (equal to {1})",
                        ph1: Object(h.f)("[\\P{L}\\P{N}]")
                    })
                } : {
                    explanation: o.a.createElement(p.s, {
                        text: "matches any non-word character (equal to {1})",
                        ph1: Object(h.f)("[^a-zA-Z0-9_]")
                    })
                };
                if ("d" === n) return r ? {
                    explanation: o.a.createElement(p.s, {
                        text: "matches a digit zero through nine in any script except ideographic scripts (equal to {1})",
                        ph1: Object(h.f)("\\p{Nd}")
                    })
                } : {
                    explanation: o.a.createElement(p.s, {
                        text: "matches a digit (equal to {1})",
                        ph1: Object(h.f)("[0-9]")
                    })
                };
                if ("D" === n) return r ? {
                    explanation: o.a.createElement(p.s, {
                        text: "matches any non-numeric character in any script (equal to {1})",
                        ph1: Object(h.f)("\\p{Nd}")
                    })
                } : {
                    explanation: o.a.createElement(p.s, {
                        text: "matches any character that's not a digit (equal to {1})",
                        ph1: Object(h.f)("[^0-9]")
                    })
                };
                if ("s" === n) return r ? {
                    explanation: o.a.createElement(p.s, {
                        text: "matches any kind of invisible character (equal to {1})",
                        ph1: Object(h.f)("[\\p{Z}\\h\\v]")
                    })
                } : {
                    explanation: o.a.createElement(p.s, {
                        text: "matches any whitespace character (equal to {1})",
                        ph1: Object(h.f)("[\\r\\n\\t\\f\\v ]")
                    })
                };
                if ("S" === n) return r ? {
                    explanation: o.a.createElement(p.s, {
                        text: "matches any kind of visible character (equal to {1})",
                        ph1: Object(h.f)("[\\P{Z}\\H\\V]")
                    })
                } : {
                    explanation: o.a.createElement(p.s, {
                        text: "matches any non-whitespace character (equal to {1})",
                        ph1: Object(h.f)("[^\\r\\n\\t\\f\\v ]")
                    })
                };
                if ("h" === n) return {
                    explanation: o.a.createElement(p.s, {
                        text: "matches any horizontal whitespace character (equal to {1})",
                        ph1: Object(h.f)("[[:blank:]]")
                    })
                };
                if ("H" === n) return {
                    explanation: o.a.createElement(p.s, {
                        text: "matches any character that's not a horizontal whitespace character"
                    })
                };
                if ("v" === n) return {
                    explanation: o.a.createElement(p.s, {
                        text: "matches any vertical whitespace character"
                    })
                };
                if ("V" === n) return {
                    explanation: o.a.createElement(p.s, {
                        text: "matches any character that's not a vertical whitespace character"
                    })
                };
                if ("N" === n) return {
                    explanation: o.a.createElement(p.s, {
                        text: "matches any non-newline character"
                    })
                };
                if ("R" === n) return {
                    explanation: o.a.createElement(p.s, {
                        text: "matches any Unicode newline sequence; can be modified using verbs"
                    })
                };
                if ("C" === n) return {
                    explanation: o.a.createElement(p.s, {
                        text: "matches one data unit, even in UTF mode (best avoided)"
                    })
                };
                if ("X" === n) return {
                    explanation: o.a.createElement(p.s, {
                        text: "matches any number of Unicode characters that form an extended Unicode sequence"
                    })
                };
                if ("t" === n) return {
                    explanation: o.a.createElement(p.s, {
                        text: "matches a tab character {1}",
                        ph1: Object(h.d)("(ASCII 9)")
                    })
                };
                if ("r" === n) return {
                    explanation: o.a.createElement(p.s, {
                        text: "matches a carriage return {1}",
                        ph1: Object(h.d)("(ASCII 13)")
                    })
                };
                if ("n" === n) return {
                    explanation: o.a.createElement(p.s, {
                        text: "matches a line-feed (newline) character {1}",
                        ph1: Object(h.d)("(ASCII 10)")
                    })
                };
                if ("f" === n) return {
                    explanation: o.a.createElement(p.s, {
                        text: "matches a form-feed character {1}",
                        ph1: Object(h.d)("(ASCII 12)")
                    })
                };
                if ("a" === n) return {
                    explanation: o.a.createElement(p.s, {
                        text: "matches the bell character {1}",
                        ph1: Object(h.d)("(ASCII 7)")
                    })
                };
                if ("e" === n) return {
                    explanation: o.a.createElement(p.s, {
                        text: "matches esc {1}",
                        ph1: Object(h.d)("(ASCII 7)")
                    })
                };
                if ("b" === n) {
                    var l = '<span class="'.concat(m.a.zeroWidth, '"></span>'),
                        f = '<span class="'.concat(m.a.tokenSample, '">(^').concat(l, "\\w|\\w").concat(l, "$|\\W").concat(l, "\\w|\\w").concat(l, "\\W)</span>");
                    return {
                        explanation: o.a.createElement(p.s, {
                            text: "assert position at a word boundary: {1}",
                            ph1: f
                        })
                    }
                }
                if ("B" === n) return {
                    explanation: o.a.createElement(p.s, {
                        text: "assert position where {1} does not match",
                        ph1: Object(h.f)("\\b")
                    })
                };
                if ("A" === n) return {
                    explanation: o.a.createElement(p.s, {
                        text: "asserts position at start of the string"
                    })
                };
                if ("z" === n) return {
                    explanation: o.a.createElement(p.s, {
                        text: "asserts position at the end of the string"
                    })
                };
                if ("G" === n) return {
                    explanation: o.a.createElement(p.s, {
                        text: "asserts position at the end of the previous match or the start of the string for the first match"
                    })
                };
                if ("K" === n) return {
                    explanation: o.a.createElement(p.s, {
                        text: "resets the starting point of the reported match. Any previously consumed characters are no longer included in the final match"
                    })
                };
                if ("." === n) {
                    var y = "";
                    return i || (y = Object(c.a)("(except for line terminators)")), {
                        explanation: o.a.createElement("span", null, r && Object(c.a)("matches any character, including unicode {1}", y), !r && Object(c.a)("matches any character {1}", y), !i && !t.brief && g(e))
                    }
                }
                if ("^" === n) {
                    var d = Object(c.a)("the string");
                    return a && (d = Object(c.a)("a line")), {
                        explanation: o.a.createElement("span", null, Object(c.a)("asserts position at start of {1}", d), a && !t.brief && g(e, !0, !0))
                    }
                }
                if ("Z" === n) return {
                    explanation: o.a.createElement(p.s, {
                        text: "asserts position at the end of the string, or before the line terminator right at the end of the string (if any)"
                    })
                };
                if ("$" === n) {
                    var v = "";
                    return v = a ? Object(c.a)("asserts position at the end of a line") : u || e.state.flavor === b.a.JAVASCRIPT || e.state.flavor === b.a.GOLANG ? Object(c.a)("asserts position at the end of the string") : Object(c.a)("asserts position at the end of the string, or before the line terminator right at the end of the string (if any)"), {
                        explanation: o.a.createElement("span", null, v, !u && !t.brief && g(e, !0, a))
                    }
                }
                return s.a.error(new Error("Unable to explain token '".concat(e.type, "'")), {
                    string: e.string
                }), {
                    explanation: null
                }
            },
            _ = n("./node_modules/lodash/lodash.js"),
            O = n.n(_);

        function j(e, t) {
            var n = arguments.length > 2 && void 0 !== arguments[2] && arguments[2],
                r = -1 !== e.flags.indexOf("x"),
                a = -1 !== e.flags.indexOf("i"),
                i = t;
            if (n || !r || e.inCharClass || (i = i.replace(/\s/g, "")), 0 === (i = Object(h.b)(i)).length) return {
                explanation: null
            };
            var s = a ? Object(c.a)("case insensitive") : Object(c.a)("case sensitive");
            if (e.inCharClass && i.length > 1) {
                var u = O.a.uniq(i).join("");
                return {
                    explanation: o.a.createElement(p.s, {
                        text: "matches a single character in the list {1} {2}",
                        ph1: Object(h.f)(u),
                        ph2: "(".concat(s, ")")
                    })
                }
            }
            return {
                explanation: o.a.createElement(p.s, {
                    text: "matches the {1} {2} literally {3}",
                    ph1: 1 === i.length ? Object(c.a)("character") : Object(c.a)("characters"),
                    ph2: Object(h.f)(i),
                    ph3: "(".concat(s, ")")
                })
            }
        }

        function w(e) {
            return 0 === e ? Object(c.a)("zero") : 1 === e ? Object(c.a)("one") : e === 1 / 0 ? Object(c.a)("unlimited") : e
        }
        var k = function(e) {
            var t;
            "?" === e.string || "??" === e.string || e.previousToken.type !== u.g && e.previousToken.type !== u.E ? Object(u.cb)(e.previousToken.type) && (t = o.a.createElement(p.o, {
                type: f.c.WARN
            }, Object(c.a)("A quantifier following a lookaround serves no purpose, and can safely be removed from the regular expression"))) : t = o.a.createElement(p.o, {
                type: f.c.WARN
            }, Object(c.a)("A repeated capturing group will only capture the last iteration. Put a capturing group around the repeated group to capture all iterations or use a non-capturing group instead if you're not interested in the data"));
            var n, r, a, i = e.to === 1 / 0 || e.to <= 1 ? w(e.to) : e.to,
                s = e.to === 1 / 0 || e.to <= 1 ? w(e.from) : e.from;
            return e.from === e.to ? (1 === e.from ? n = Object(c.a)("meaningless quantifier") : 0 === e.from && (n = Object(c.a)("causes token to be ignored")), {
                explanation: o.a.createElement(p.s, {
                    text: "{1} \u2014 Matches exactly {2} {3} {4}",
                    ph1: "<strong>".concat(Object(c.a)("Quantifier"), "</strong>"),
                    ph2: Object(h.d)(s),
                    ph3: 1 !== e.from ? Object(c.a)("times") : Object(c.a)("time"),
                    ph4: n ? "(".concat(n, ")") : ""
                }),
                notice: t
            }) : (e.possessive ? (r = Object(c.a)("as many times as possible, without giving back"), a = Object(c.a)("possessive")) : e.lazy ? (r = Object(c.a)("as few times as possible, expanding as needed"), a = Object(c.a)("lazy")) : (r = Object(c.a)("as many times as possible, giving back as needed"), a = Object(c.a)("greedy")), {
                explanation: o.a.createElement(p.s, {
                    text: "{1} \u2014 Matches between {2} and {3} times, {4} {5}",
                    ph1: "<strong>".concat(Object(c.a)("Quantifier"), "</strong>"),
                    ph2: Object(h.d)(s),
                    ph3: Object(h.d)(i),
                    ph4: r,
                    ph5: Object(h.c)("(" + a + ")")
                }),
                notice: t
            })
        };
        var E = function(e, t) {
            var n = t.alternatives,
                r = t.brief;
            if (e.parent) {
                if (e.parent.type === u.j) return 0 === e.alternative ? {
                    explanation: o.a.createElement(p.s, {
                        text: "If condition is met, match the following regex"
                    })
                } : {
                    explanation: o.a.createElement(p.s, {
                        text: "Else match the following regex"
                    })
                };
                if (0 === e.parent.alternatives) return {
                    explanation: null
                }
            } else if (0 === n) return {
                explanation: null
            };
            return r ? {
                explanation: o.a.createElement(p.s, {
                    text: "Alternative (acts like boolean OR)",
                    ph1: Object(h.h)(e.alternative + 1)
                })
            } : {
                explanation: o.a.createElement(p.s, {
                    text: "{1} Alternative",
                    ph1: Object(h.h)(e.alternative + 1)
                })
            }
        };
        var S = function(e, t) {
            return t.lonely ? {
                explanation: o.a.createElement(p.s, {
                    text: "End of quoted literals"
                }),
                notice: o.a.createElement(p.o, {
                    type: f.c.WARN
                }, Object(c.a)("This token does nothing without a corresponding open quote tag (\\Q). If you meant to match a literal `E`, remove the backslash"))
            } : t.brief ? {
                explanation: o.a.createElement(p.s, {
                    text: "Quoted Literals: match the string enclosed in the quote literally"
                })
            } : {
                explanation: o.a.createElement(p.s, {
                    text: "Quoted Literals"
                })
            }
        };
        var x = function(e, t) {
            var n, r, a = e.indexOf("-");
            return -1 !== a ? (n = O.a.uniq(e.slice(0, a)), r = O.a.uniq(e.slice(a + 1)).filter(function(e) {
                return "-" !== e
            })) : (n = O.a.uniq(e), r = []), [].concat(n.map(function(e, t) {
                return u(e, t, !0)
            }), r.map(function(e, t) {
                return u(e, t, !1)
            }));

            function u(e, n, r) {
                var a = null;
                return "g" === e ? a = o.a.createElement(p.s, {
                    text: "{1}. All matches (don't return after first match)",
                    ph1: "<strong>g</strong>lobal"
                }) : "i" === e ? a = r ? o.a.createElement(p.s, {
                    text: "{1}. Case insensitive match (ignores case of {2})",
                    ph1: "<strong>i</strong>nsensitive",
                    ph2: Object(h.f)("[a-zA-Z]")
                }) : o.a.createElement(p.s, {
                    text: "{1}. Case sensitive match",
                    ph1: "-<strong>i</strong>nsensitive"
                }) : "J" === e ? a = r ? o.a.createElement(p.s, {
                    text: "Allow duplicate subpattern names"
                }) : o.a.createElement(p.s, {
                    text: "Disallow duplicate subpattern names"
                }) : "s" === e ? a = r ? o.a.createElement(p.s, {
                    text: "{1}. Dot matches newline characters {2}",
                    ph1: "<strong>s</strong>ingle line",
                    ph2: t === b.a.JAVASCRIPT ? "<strong>(draft)</strong>" : ""
                }) : o.a.createElement(p.s, {
                    text: "{1}. A dot won't match {2}",
                    ph1: "-<strong>s</strong>ingle line",
                    ph2: Object(h.f)("\\n")
                }) : "m" === e ? a = r ? o.a.createElement(p.s, {
                    text: "{1}. Causes {2} and {3} to match the begin/end of each line (not only begin/end of string)",
                    ph1: "<strong>m</strong>ulti line",
                    ph2: Object(h.f)("^"),
                    ph3: Object(h.f)("$")
                }) : o.a.createElement(p.s, {
                    text: "{1}. Causes {2} and {3} to match begin/end of string",
                    ph1: "-<strong>m</strong>ulti line",
                    ph2: Object(h.f)("^"),
                    ph3: Object(h.f)("$")
                }) : "x" === e ? a = r ? o.a.createElement(p.s, {
                    text: "{1}. Spaces and text after a {2} in the pattern are ignored",
                    ph1: "e<strong>x</strong>tended",
                    ph2: Object(h.d)("#")
                }) : o.a.createElement(p.s, {
                    text: "{1}. Whitespaces and {2} in the pattern are treated literally",
                    ph1: "-e<strong>x</strong>tended",
                    ph2: Object(h.d)("#")
                }) : "X" === e ? a = o.a.createElement(p.s, {
                    text: "{1}. A {2} followed by a letter with no special meaning is faulted",
                    ph1: "e<strong>X</strong>tra",
                    ph2: Object(h.d)("\\")
                }) : "A" === e ? a = o.a.createElement(p.s, {
                    text: "{1}. Pattern is forced to {2}",
                    ph1: "<strong>A</strong>nchored",
                    ph2: Object(h.f)("^")
                }) : "U" === e ? a = r ? o.a.createElement(p.s, {
                    text: "{1}. The match becomes lazy by default. Now a {2} following a quantifier makes it greedy",
                    ph1: "<strong>U</strong>ngreedy",
                    ph2: Object(h.f)("?")
                }) : o.a.createElement(p.s, {
                    text: "{1}. The match becomes greedy by default",
                    ph1: "-<strong>U</strong>ngreedy"
                }) : "u" === e ? t === b.a.PCRE ? a = o.a.createElement(p.s, {
                    text: "{1}. Pattern strings are treated as {2}. Also causes escape sequences to match unicode characters",
                    ph1: "<strong>u</strong>nicode",
                    ph2: Object(h.d)("UTF-16")
                }) : t === b.a.PYTHON ? a = o.a.createElement(p.s, {
                    text: "{1}. Make {2}, {3}, {4}, {5}, {6}, {7}, {8} and {9} perform matching with Unicode semantic (redundant in Python 3)",
                    ph1: "<strong>u</strong>nicode",
                    ph2: Object(h.f)("\\w"),
                    ph3: Object(h.f)("\\W"),
                    ph4: Object(h.f)("\\b"),
                    ph5: Object(h.f)("\\B"),
                    ph6: Object(h.f)("\\d"),
                    ph7: Object(h.f)("\\D"),
                    ph8: Object(h.f)("\\s"),
                    ph9: Object(h.f)("\\S")
                }) : t === b.a.JAVASCRIPT && (a = o.a.createElement(p.s, {
                    text: "{1}. Enable all unicode features and interpret all unicode escape sequences as such",
                    ph1: "<strong>u</strong>nicode"
                })) : "a" === e ? a = o.a.createElement(p.s, {
                    text: "{1}. Force the escape sequences {2}, {3}, {4}, {5}, {6}, {7}, {8} and {9} to perform ASCII-only matching instead of full Unicode matching",
                    ph1: "<strong>a</strong>scii",
                    ph2: Object(h.f)("\\w"),
                    ph3: Object(h.f)("\\W"),
                    ph4: Object(h.f)("\\b"),
                    ph5: Object(h.f)("\\B"),
                    ph6: Object(h.f)("\\d"),
                    ph7: Object(h.f)("\\D"),
                    ph8: Object(h.f)("\\s"),
                    ph9: Object(h.f)("\\S")
                }) : "D" === e ? a = o.a.createElement(p.s, {
                    text: "{1}. Force the a dollar sign, {2}, to always match end of the string, instead of end of the line. This option is ignored if the {3}-flag is set",
                    ph1: "<strong>D</strong>ollar",
                    ph2: Object(h.f)("$"),
                    ph3: Object(h.f)("m")
                }) : "y" === e && (a = o.a.createElement(p.s, {
                    text: "{1}. Force the pattern to only match consecutive matches from where the previous match ended.",
                    ph1: "stick<strong>y</strong>"
                })), a ? o.a.createElement("div", {
                    key: "flag-".concat(e, "-").concat(r, "-").concat(n)
                }, o.a.createElement("span", {
                    className: i()(m.a.flag, !r && m.a.flagDisabled)
                }, Object(c.a)("{1} modifier:", e)), " ", a) : (s.a.error(new Error("Unable to explain '".concat(e, "'"))), null)
            }
        };
        var C = function(e) {
            return {
                explanation: o.a.createElement(p.s, {
                    text: "match the remainder of the pattern with the following effective flags: {1}",
                    ph1: Object(h.d)(e.flags)
                }),
                children: x(e.rawFlags, e.state.flavor)
            }
        };
        var P = function(e) {
            switch (e.type) {
                case u.g:
                    return {
                        explanation: o.a.createElement(p.s, {
                            text: "{1} Capturing Group",
                            ph1: Object(h.h)(e.groupNumber)
                        })
                    };
                case u.C:
                    return {
                        explanation: o.a.createElement(p.s, {
                            text: "Non-capturing Group. Matches the regex below with the following effective flags: {1}",
                            ph1: Object(h.d)(e.flags)
                        }), children: x(e.rawFlags, e.state.flavor)
                    };
                case u.H:
                    return {
                        explanation: o.a.createElement(p.s, {
                            text: "Non-capturing group"
                        })
                    };
                case u.m:
                    return {
                        explanation: o.a.createElement(p.s, {
                            text: "Subpattern definition construct"
                        }), notice: o.a.createElement(p.o, null, Object(c.a)("May only be used to define functions. No matching is done in this group."))
                    };
                case u.j:
                    return {
                        explanation: o.a.createElement(p.s, {
                            text: "If Clause"
                        })
                    };
                case u.G:
                    return {
                        explanation: o.a.createElement(p.s, {
                            text: "Negative Lookbehind"
                        }), notice: o.a.createElement(p.o, {
                            type: f.c.ERROR
                        }, Object(c.a)("Assert that the Regex below does not match"))
                    };
                case u.O:
                    return {
                        explanation: o.a.createElement(p.s, {
                            text: "Positive Lookbehind"
                        }), notice: o.a.createElement(p.o, null, Object(c.a)("Assert that the Regex below matches"))
                    };
                case u.F:
                    return {
                        explanation: o.a.createElement(p.s, {
                            text: "Negative Lookahead"
                        }), notice: o.a.createElement(p.o, {
                            type: f.c.ERROR
                        }, Object(c.a)("Assert that the Regex below does not match"))
                    };
                case u.N:
                    return {
                        explanation: o.a.createElement(p.s, {
                            text: "Positive Lookahead"
                        }), notice: o.a.createElement(p.o, null, Object(c.a)("Assert that the Regex below matches"))
                    };
                case u.E:
                    return {
                        explanation: o.a.createElement(p.s, {
                            text: "Named Capture Group {1}",
                            ph1: Object(h.d)(e.subpattern)
                        })
                    };
                case u.f:
                    return {
                        explanation: o.a.createElement(p.s, {
                            text: "Branch Reset Group"
                        }), notice: o.a.createElement(p.o, null, Object(c.a)("Subpatterns declared within each alternative of this construct will start over from the same index"))
                    };
                case u.b:
                    return {
                        explanation: o.a.createElement(p.s, {
                            text: "Atomic Group"
                        }), notice: o.a.createElement(p.o, null, Object(c.a)("This group does not allow any backtracking to occur"))
                    };
                default:
                    return s.a.error(new Error("Unable to match group type '".concat(e.type, "' to a component")), {
                        string: e.string
                    }), null
            }
        };
        var T = function(e, t) {
            return -1 !== e.string.indexOf("^") ? t.brief ? {
                explanation: o.a.createElement(p.s, {
                    text: "Match a single character not present in the set"
                })
            } : {
                explanation: o.a.createElement(p.s, {
                    text: "Match a single character not present in the list below"
                })
            } : t.brief ? {
                explanation: o.a.createElement(p.s, {
                    text: "Match a single character present in the set"
                })
            } : {
                explanation: o.a.createElement(p.s, {
                    text: "Match a single character present in the list below"
                })
            }
        };

        function R(e) {
            return Object(h.b)(O.a.escape(e))
        }
        var N = function(e) {
                var t = e.leftToken,
                    n = e.rightToken,
                    r = R(String.fromCodePoint(t.charCode)),
                    a = R(String.fromCodePoint(n.charCode)),
                    i = -1 !== e.flags.indexOf("i") ? Object(c.a)("case insensitive") : Object(c.a)("case sensitive");
                return {
                    explanation: o.a.createElement(p.s, {
                        text: "a single character in the range between {1} {2} and {3} {4} ({5})",
                        ph1: Object(h.f)(r),
                        ph2: Object(h.d)("(index " + t.charCode + ")"),
                        ph3: Object(h.f)(a),
                        ph4: Object(h.d)("(index " + n.charCode + ")"),
                        ph5: i
                    }),
                    string: t.string + e.string + n.string
                }
            },
            M = function(e) {
                switch (e) {
                    case "Letter":
                    case "L":
                        return Object(c.a)("matches any kind of letter from any language");
                    case "Lowercase_Letter":
                    case "Ll":
                        return Object(c.a)("matches a lowercase letter that has an uppercase variant");
                    case "Uppercase_Letter":
                    case "Lu":
                        return Object(c.a)("matches an uppercase letter that has a lowercase variant");
                    case "Titlecase_Letter":
                    case "Lt":
                        return Object(c.a)("matches a letter that appears at the start of a word when only the first letter of the word is capitalized");
                    case "Cased_Letter":
                    case "LC":
                    case "L&":
                        return o.a.createElement(p.s, {
                            text: "matches a letter that exists in lowercase and uppercase variants (combination of {1}, {2} and {3})",
                            ph1: Object(h.f)("Ll"),
                            ph2: Object(h.f)("Lu"),
                            ph3: Object(h.f)("Lt")
                        });
                    case "Modifier_Letter":
                    case "Lm":
                        return Object(c.a)("matches a special character that is used like a letter");
                    case "Other_Letter":
                    case "Lo":
                        return Object(c.a)("matches a letter or ideograph that does not have lowercase and uppercase variants");
                    case "Mark":
                    case "M":
                        return Object(c.a)("matches a character intended to be combined with another character (e.g. accents, umlauts, enclosing boxes, etc.)");
                    case "Nonspacing_Mark":
                    case "Mn":
                        return Object(c.a)("matches a character intended to be combined with another character without taking up extra space (e.g. accents, umlauts, etc.)");
                    case "Spacing_Mark":
                    case "Mc":
                        return Object(c.a)("matches a character intended to be combined with another character that takes up extra space (vowel signs in many Eastern languages)");
                    case "Enclosing_Mark":
                    case "Me":
                        return Object(c.a)("matches a character that encloses the character is is combined with (circle, square, keycap, etc.)");
                    case "Separator":
                    case "Z":
                        return Object(c.a)("matches any kind of whitespace or invisible separator");
                    case "Space_Separator":
                    case "Zs":
                        return Object(c.a)("matches a whitespace character that is invisible, but does take up space");
                    case "Line_Separator":
                    case "Zl":
                        return o.a.createElement(p.s, {
                            text: "matches a line separator character {1}",
                            ph1: Object(h.d)("U+2028")
                        });
                    case "Paragraph_Separator":
                    case "Zp":
                        return o.a.createElement(p.s, {
                            text: "matches a paragraph separator character {1}",
                            ph1: Object(h.d)("U+2029")
                        });
                    case "Symbol":
                    case "S":
                        return Object(c.a)("matches any math symbols, currency signs, dingbats, box-drawing characters, etc");
                    case "Math_Symbol":
                    case "Sm":
                        return Object(c.a)("matches any mathematical symbol");
                    case "Currency_Symbol":
                    case "Sc":
                        return Object(c.a)("matches any currency sign");
                    case "Modifier_Symbol":
                    case "Sk":
                        return Object(c.a)("matches a combining character (mark) as a full character on its own");
                    case "Other_Symbol":
                    case "So":
                        return Object(c.a)("matches various symbols that are not math symbols, currency signs, or combining characters");
                    case "Number":
                    case "N":
                        return Object(c.a)("matches any kind of numeric character in any script");
                    case "Decimal_Number":
                    case "Nd":
                        return Object(c.a)("matches a digit zero through nine in any script except ideographic scripts");
                    case "Letter_Number":
                    case "Nl":
                        return Object(c.a)("matches a number that looks like a letter, such as a Roman numeral");
                    case "Other_Number":
                    case "No":
                        return Object(c.a)("matches a superscript or subscript digit, or a number that is not a digit (excluding numbers from ideographic scripts)");
                    case "Punctuation":
                    case "P":
                        return Object(c.a)("matches any kind of punctuation character");
                    case "Dash_Punctuation":
                    case "Pd":
                        return Object(c.a)("matches any kind of hyphen or dash");
                    case "Open_Punctuation":
                    case "Ps":
                        return Object(c.a)("matches any kind of opening bracket");
                    case "Close_Punctuation":
                    case "Pe":
                        return Object(c.a)("matches any kind of closing bracket");
                    case "Initial_Punctuation":
                    case "Pi":
                        return Object(c.a)("matches any kind of opening quote");
                    case "Final_Punctuation":
                    case "Pf":
                        return Object(c.a)("matches any kind of closing quote");
                    case "Connector_Punctuation":
                    case "Pc":
                        return Object(c.a)("matches a punctuation character such as an underscore that connects words");
                    case "Other_Punctuation":
                    case "Po":
                        return Object(c.a)("matches any kind of punctuation character that is not a dash, bracket, quote or connector");
                    case "Other":
                    case "C":
                        return Object(c.a)("matches invisible control characters and unused code points");
                    case "Control":
                    case "Cc":
                        return o.a.createElement(p.s, {
                            text: "matches an ASCII {1} or Latin-1 {2} control character",
                            ph1: Object(h.f)("[\\x00-\\x1F]"),
                            ph2: Object(h.f)("[\\x80-\\x9F]")
                        });
                    case "Format":
                    case "Cf":
                        return Object(c.a)("matches invisible formatting indicator");
                    case "Private_Use":
                    case "Co":
                        return Object(c.a)("matches any code point reserved for private use");
                    case "Surrogate":
                    case "Cs":
                        return o.a.createElement(p.s, {
                            text: "matches one half of a surrogate pair in {1} encoding",
                            ph1: Object(h.d)("UTF-16")
                        });
                    case "Unassigned":
                    case "Cn":
                        return Object(c.a)("matches any code point to which no character has been assigned");
                    default:
                        return null
                }
            };
        var A = function(e) {
            if ("\\P" === e.string.slice(0, 2) || -1 !== e.string.indexOf("^")) return {
                explanation: o.a.createElement(p.s, {
                    text: "matches any characters that {1} does not",
                    ph1: '<span class="'.concat(m.a.tokenSample, '">\\p').concat(e.script.replace("^", ""), "</span>")
                })
            };
            if (null != M(e.script)) return {
                explanation: o.a.createElement("span", null, M(e.script))
            };
            var t = null == e.category || "Script" === e.category ? Object(c.a)("script") : Object(c.a)("script extension");
            return {
                explanation: o.a.createElement(p.s, {
                    text: "matches any characters in the {1} {2}",
                    ph1: Object(h.d)(e.script),
                    ph2: t
                })
            }
        };
        var I = function(e) {
            return {
                explanation: o.a.createElement(p.s, {
                    text: "matches the control sequence {1} {2}",
                    ph1: Object(h.f)("CTRL+" + e.controlChar),
                    ph2: Object(h.d)("(ASCII " + e.charCode + ")")
                })
            }
        };
        var L = function(e) {
            return {
                explanation: o.a.createElement(p.s, {
                    text: "Global pattern flags"
                }),
                children: x(e.globalFlags, e.flavor)
            }
        };
        var D = function(e) {
            return 0 === e.reference ? {
                explanation: o.a.createElement(p.s, {
                    text: "matches the same text as most recently matched by the entire pattern"
                })
            } : /^\d+$/.test(e.reference) ? {
                explanation: o.a.createElement(p.s, {
                    text: "matches the same text as most recently matched by the {1} capturing group",
                    ph1: Object(h.d)(Object(h.h)(e.reference))
                })
            } : {
                explanation: o.a.createElement(p.s, {
                    text: "matches the same text as most recently matched by the capturing group named {1}",
                    ph1: Object(h.d)(e.reference)
                })
            }
        };
        var q = function(e) {
            return null === e.reference ? {
                explanation: o.a.createElement(p.s, {
                    text: "recurses the entire pattern"
                })
            } : /^\d+$/.test(e.reference) ? {
                explanation: o.a.createElement(p.s, {
                    text: "recurses the {1} subpattern",
                    ph1: Object(h.d)(Object(h.h)(e.reference))
                })
            } : {
                explanation: o.a.createElement(p.s, {
                    text: "recurses the subpattern named {1}",
                    ph1: Object(h.d)(e.reference)
                })
            }
        };

        function F(e, t, n) {
            var r = Object(h.a)(String.fromCodePoint(e.charCode)),
                a = -1 !== e.flags.indexOf("i") ? Object(c.a)("case insensitive") : Object(c.a)("case sensitive");
            return {
                explanation: o.a.createElement(p.s, {
                    text: "matches the character {1} with index {2} ({3} or {4}) literally ({5})",
                    ph1: Object(h.e)(r),
                    ph2: Object(h.d)(e.charCode.toString(t).toUpperCase() + "<sub>".concat(t, "</sub>"), !1),
                    ph3: Object(h.d)(e.charCode + "<sub>10</sub>", !1),
                    ph4: Object(h.d)(e.charCode.toString(n).toUpperCase() + "<sub>".concat(n, "</sub>"), !1),
                    ph5: a
                })
            }
        }
        var z = function(e) {
            return {
                explanation: o.a.createElement("span", null, " ", e.comment),
                string: Object(c.a)("Comment") + ":"
            }
        };
        var G = function(e) {
            return "UTF" === e.verb.slice(0, 3) ? {
                explanation: o.a.createElement(p.s, {
                    text: "sets the property mode to {1}",
                    ph1: Object(h.d)("UTF-" + e.verb.replace(/\D+/g, ""))
                })
            } : "UCP" === e.verb ? {
                explanation: o.a.createElement(p.s, {
                    text: "sets the property mode to Unicode"
                })
            } : "NO_START_OPT" === e.verb ? {
                explanation: o.a.createElement(p.s, {
                    text: "suppresses the start-of-match optimizations that are otherwise run by Perl"
                })
            } : "CR" === e.verb ? {
                explanation: o.a.createElement(p.s, {
                    text: "specifies a newline convention: carriage return"
                })
            } : "LF" === e.verb ? {
                explanation: o.a.createElement(p.s, {
                    text: "specifies a newline convention: line-feed"
                })
            } : "CRLF" === e.verb ? {
                explanation: o.a.createElement(p.s, {
                    text: "specifies a newline convention: {1}, followed by {2}",
                    ph1: Object(h.f)("(*CR)"),
                    ph2: Object(h.f)("(*LF)")
                })
            } : "ANYCRLF" === e.verb ? {
                explanation: o.a.createElement(p.s, {
                    text: "specifies a newline convention: {1}, {2} or {3}",
                    ph1: Object(h.f)("(*CR)"),
                    ph2: Object(h.f)("(*LF)"),
                    ph3: Object(h.f)("(*CRLF)")
                })
            } : "ANY" === e.verb ? {
                explanation: o.a.createElement(p.s, {
                    text: "specifies a newline convention: all unicode newline sequences {1}",
                    ph1: Object(h.f)("(?:\\r\\n|[\\r\\n\\v\\f\\x85\\u2028\\u2029])")
                })
            } : "BSR_ANYCRLF" === e.verb ? {
                explanation: o.a.createElement(p.s, {
                    text: "specifies a newline convention: {1}, {2} or {3} only",
                    ph1: Object(h.f)("(*CR)"),
                    ph2: Object(h.f)("(*LF)"),
                    ph3: Object(h.f)("(*CRLF)")
                })
            } : "BSR_UNICODE" === e.verb ? {
                explanation: o.a.createElement(p.s, {
                    text: "specifies a newline convention: any Unicode newline sequence"
                })
            } : /\(\*(?:MARK)?:[^:]+\)/.test(e.verb) ? {
                explanation: o.a.createElement(p.s, {
                    text: "marker verb whose main purpose is to track how a match was arrived at"
                })
            } : "FAIL" === e.verb ? {
                explanation: o.a.createElement(p.s, {
                    text: "verb synonymous with {1}. Forces a matching failure at the given position in the pattern",
                    ph1: Object(h.f)("(?!)")
                })
            } : "F" === e.verb ? {
                explanation: o.a.createElement(p.s, {
                    text: "shorthand for {1}",
                    ph1: Object(h.f)("(*FAIL)")
                })
            } : /^PRUNE(?::[^:]+)?$/.test(e.verb) ? {
                explanation: o.a.createElement(p.s, {
                    text: "this verb causes the match to fail at the current starting position in the subject if the rest of the pattern does not match"
                })
            } : "COMMIT" === e.verb ? {
                explanation: o.a.createElement(p.s, {
                    text: "causes the whole match to fail outright if the rest of the pattern does not match"
                })
            } : /^THEN(?::[^:]+)?$/.test(e.verb) ? {
                explanation: o.a.createElement(p.s, {
                    text: "causes a skip to the next innermost alternative if the rest of the pattern does not match"
                })
            } : /^SKIP(?::[^:]+)?$/.test(e.verb) ? {
                explanation: o.a.createElement(p.s, {
                    text: "acts like {1}, except that if the pattern is unanchored, the bumpalong advance is not to the next character, but to the position in the subject where {2} was encountered",
                    ph1: Object(h.f)("(*PRUNE)"),
                    ph2: Object(h.f)("(*SKIP)")
                })
            } : "ACCEPT" === e.verb ? {
                explanation: o.a.createElement(p.s, {
                    text: "this verb causes the match to end successfully, skipping the remainder of the pattern"
                })
            } : /^LIMIT_RECURSION=\d+$/.test(e.verb) ? {
                explanation: o.a.createElement(p.s, {
                    text: "this verb sets the recursion limit (max depth) for the pattern"
                })
            } : /^LIMIT_MATCH=\d+$/.test(e.verb) ? {
                explanation: o.a.createElement(p.s, {
                    text: "this verb sets the match limit (max iterations) for the pattern"
                })
            } : "NO_AUTO_POSSESS" === e.verb ? {
                explanation: o.a.createElement(p.s, {
                    text: "this verb disables the internal `auto-possessification` optimization in PCRE"
                })
            } : {
                explanation: o.a.createElement(p.s, {
                    text: "Undescribed specific verb; No description for it yet (nothing's perfect)"
                })
            }
        };
        var B = function(e) {
            return {
                explanation: o.a.createElement(p.s, {
                    text: "matches a backspace character {1}",
                    ph1: Object(h.d)("(ASCII 8)")
                })
            }
        };
        var U = function(e) {
            if (-1 !== e.string.indexOf("^")) return {
                explanation: o.a.createElement(p.s, {
                    text: "matches the negation of {1}",
                    ph1: Object(h.f)(e.posixClass)
                })
            };
            var t = -1 !== e.flags.indexOf("u");
            switch (e.posixClass) {
                case "ascii":
                    return t ? {
                        explanation: o.a.createElement(p.s, {
                            text: "equal to {1}",
                            ph1: Object(h.f)("\\p{InBasicLatin}")
                        })
                    } : {
                        explanation: o.a.createElement(p.s, {
                            text: "matches a character with {1} value {2} through {3}",
                            ph1: Object(h.d)("ASCII"),
                            ph2: Object(h.d)("0"),
                            ph3: Object(h.d)("127")
                        })
                    };
                case "alnum":
                    return {
                        explanation: o.a.createElement(p.s, {
                            text: "matches a alphanumeric character {1}",
                            ph1: Object(h.f)(t ? "\\p{Xan}" : "[a-zA-Z0-9]")
                        })
                    };
                case "word":
                    return {
                        explanation: o.a.createElement(p.s, {
                            text: "matches a alphanumeric character or {1} {2} (also written as {3})",
                            ph1: Object(h.d)("_"),
                            ph2: Object(h.f)(t ? "[\\p{Xwd}]" : "[A-Za-z0-9_]"),
                            ph3: Object(h.f)("\\w")
                        })
                    };
                case "alpha":
                    return {
                        explanation: o.a.createElement(p.s, {
                            text: "matches a alphabetic character {1}",
                            ph1: Object(h.f)(t ? "\\p{L}" : "[a-zA-Z]")
                        })
                    };
                case "blank":
                    return {
                        explanation: o.a.createElement(p.s, {
                            text: "matches a whitespace character, including a line break {1}",
                            ph1: Object(h.f)(t ? "\\h" : "[ \\t]")
                        })
                    };
                case "cntrl":
                    return {
                        explanation: o.a.createElement(p.s, {
                            text: "matches a control character {1}",
                            ph1: Object(h.f)(t ? "\\p{Cc}" : "[\\x00-\\x1F\\x7F]")
                        })
                    };
                case "digit":
                    return {
                        explanation: o.a.createElement(p.s, {
                            text: "matches a digit {1} (also written as {2})",
                            ph1: Object(h.f)(t ? "\\p{Nd}" : "[0-9]"),
                            ph2: Object(h.f)("\\d")
                        })
                    };
                case "graph":
                    return {
                        explanation: o.a.createElement(p.s, {
                            text: "matches a visible character {1}",
                            ph1: Object(h.f)(t ? "[\\pL\\pM\\pN\\pP\\pS\\p{Cf}]" : "[\\x21-\\x7E]")
                        })
                    };
                case "lower":
                    return {
                        explanation: o.a.createElement(p.s, {
                            text: "matches a lowercase letter {1}",
                            ph1: Object(h.f)(t ? "\\p{Ll}" : "[a-z]")
                        })
                    };
                case "print":
                    return {
                        explanation: o.a.createElement(p.s, {
                            text: "matches a visible character or the space character {1}",
                            ph1: Object(h.f)(t ? "[\\pL\\pM\\pN\\pP\\pS\\p{Cf}\\p{Zs}]" : "[\\x20-\\x7E]")
                        })
                    };
                case "punct":
                    return {
                        explanation: o.a.createElement(p.s, {
                            text: "matches a punctuation character {1}",
                            ph1: Object(h.f)(t ? "[\\p{P}\\p{S}]" : "[!\"#$%&'()*+,\\-./:;<=>?@[\\]^_`{|}~]")
                        })
                    };
                case "upper":
                    return {
                        explanation: o.a.createElement(p.s, {
                            text: "matches a uppercase letter {1}",
                            ph1: Object(h.f)(t ? "\\p{Lu}" : "[A-Z]")
                        })
                    };
                case "xdigit":
                    return {
                        explanation: o.a.createElement(p.s, {
                            text: "matches a hexadecimal digit {1}",
                            ph1: Object(h.f)("[A-Fa-f0-9]")
                        })
                    };
                case "space":
                    return {
                        explanation: o.a.createElement(p.s, {
                            text: "matches a whitespace character, including a line break {1} (also written as {2})",
                            ph1: Object(h.f)(t ? "[\\p{xps}]" : "[ \\t\\r\\n\\v\\f]"),
                            ph2: Object(h.f)("\\s")
                        })
                    };
                default:
                    s.a.error(new Error("Unknown posix class '".concat(e.string, "'")), {
                        string: e.string
                    })
            }
        };
        var H = function(e) {
            var t = e.conditional,
                n = t.condition,
                r = isNaN(t.reference) || null == t.reference ? t.reference : Object(h.h)(t.reference),
                a = o.a.createElement(p.s, {
                    text: "Evaluate the condition below and proceed accordingly"
                }),
                i = Object(h.f)("(" + n + ")");
            if (t.lookaround) return {
                explanation: a
            };
            var s = "condition-".concat(t.position.start, "-").concat(n);
            if (t.backreference) return {
                explanation: a,
                children: [o.a.createElement(p.s, {
                    key: s,
                    tag: "div",
                    text: "{1} checks whether the {2} capturing group matched when it was last attempted",
                    ph1: i,
                    ph2: Object(h.d)(r)
                })]
            };
            if (t.subroutine) return null === r && "R" === n ? {
                explanation: a,
                children: [o.a.createElement(p.s, {
                    key: s,
                    tag: "div",
                    text: "{1} checks whether the whole pattern matches",
                    ph1: i,
                    ph2: Object(h.d)(r)
                })]
            } : {
                explanation: a,
                children: [o.a.createElement(p.s, {
                    key: s,
                    tag: "div",
                    text: "{1} checks whether the {2} subroutine matches",
                    ph1: i,
                    ph2: Object(h.d)(r)
                })]
            };
            throw new Error("Condition type is not specified")
        };
        var W = function(e) {
            return {
                explanation: o.a.createElement(p.s, {
                    text: "matches a vertical tab character"
                })
            }
        };
        var V = function(e) {
            return "\\E" === e.string ? {
                explanation: o.a.createElement("span", null, Object(c.a)("Custom regex101 property that terminates any previous text transformation (initiated with either \\U or \\L)"))
            } : {
                explanation: o.a.createElement("span", null, Object(c.a)("Custom regex101 property that converts all subsequent tokens to their {1} equivalence until `\\E` is encountered", "\\U" === e.string ? Object(c.a)("uppercase") : Object(c.a)("lowercase")))
            }
        };
        var K = function(e) {
                return -1 !== e.string.indexOf("^") ? {
                    explanation: o.a.createElement(p.s, {
                        text: "matches any character, including newline"
                    })
                } : {
                    explanation: o.a.createElement(p.s, {
                        text: "empty character class \u2014 matches {1}",
                        ph1: "<em>null</em>"
                    })
                }
            },
            $ = n("./app/js/components/utils/props/levels.js");
        var Y = function(e) {
            var t = o.a.createElement(p.o, {
                type: $.WARN
            }, Object(c.a)("Avoid using this legacy syntax for any new patterns."));
            return "[[:<:]]" === e.string ? {
                explanation: o.a.createElement(p.s, {
                    text: "Matches start of word (POSIX syntax), equivalent to {1}",
                    ph1: Object(h.f)("\\b(?=\\w)")
                }),
                notice: t
            } : {
                explanation: o.a.createElement(p.s, {
                    text: "Matches end of word (POSIX syntax), equivalent to {1}",
                    ph1: Object(h.f)("\\b(?<=\\w)")
                }),
                notice: t
            }
        };
        var J = function(e) {
            return "$`" === e.string ? {
                explanation: o.a.createElement(p.s, {
                    text: "inserts the portion of the string that precedes the matched substring"
                })
            } : "$'" === e.string ? {
                explanation: o.a.createElement(p.s, {
                    text: "inserts the portion of the string that follows the matched substring"
                })
            } : {
                explanation: o.a.createElement(p.s, {
                    text: "inserts the matched substring"
                })
            }
        };

        function Q(e) {
            return function(e, t) {
                var n = e.token,
                    r = e.string,
                    o = n.type;
                if (o === u.B) return v(n, t);
                if (o === u.r) return function(e) {
                    return j(e, e.string.slice(1), !0)
                }(n);
                if (o === u.M) return function(e, t) {
                    return j(e, t)
                }(n, r);
                if (o === u.a) return E(n, t);
                if (o === u.L) return S(n, t);
                if (o === u.A) return t.lonely = !0, S(n, t);
                if (o === u.v) return C(n, t);
                if (o === u.J) return function(e) {
                    return F(e, 8, 16)
                }(n);
                if (o === u.u || o === u.V || o === u.W) return function(e) {
                    return F(e, 16, 8)
                }(n);
                if (o === u.X) return A(n);
                if (o === u.l) return I(n);
                if (o === u.s) return L(n);
                if (u.bb(o)) return P(n);
                if (o === u.R) return k(n);
                if (o === u.U || o === u.T) return q(n);
                if (o === u.I || o === u.D || o === u.d || o === u.c) return D(n);
                if (o === u.z || o === u.t) return z(n);
                if (o === u.Y) return G(n);
                if (o === u.k) return H(n);
                if (o === u.e) return B(n);
                if (o === u.Z) return W(n);
                if (o === u.K) return T(n, t);
                if (o === u.h) return N(n);
                if (o === u.P) return U(n);
                if (o === u.o) return K(n);
                if (o === u.S || o === u.p) return V(n);
                if (o === u.Q) return Y(n);
                if (o === u.w || o === u.x || o === u.y) return J(n);
                return s.a.error(new Error("Unable to explain token '".concat(o, "'")), {
                    string: r
                }), {
                    explanation: null
                }
            }(e, arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : {})
        }

        function X(e) {
            var t = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : {};
            if (e.type === u.z || e.type === u.t) return o.a.createElement("div", null, Object(c.a)("Comment"));
            if (e.error) return Object(l.a)(e.error);
            var n = e.tooltipToken,
                r = e.string;
            n.type === u.h ? r = n.leftToken.string + n.string + n.rightToken.string : n.type === u.R && n.quantifier && (r = n.string + n.quantifier.string);
            var a = {
                string: n.string,
                children: [],
                nodeLabel: [],
                token: n
            };
            return t.brief = !0, o.a.createElement("div", null, !u.ab(n.type) && o.a.createElement("strong", {
                className: i()(m.a.token, n.style)
            }, r), " ", Q(a, t).explanation)
        }
        n.d(t, "b", function() {
            return Q
        }), n.d(t, "a", function() {
            return X
        })
    },
    "./app/js/parsers/ExplanationEngine/tokenStyles.css": function(e, t, n) {
        e.exports = {
            tokenSample: "_3Qv4l",
            plainText: "_2JynL",
            keyword: "Z3H4l",
            flag: "TEFRq",
            info: "_2P7Bb",
            zeroWidth: "_31UNi",
            token: "_1JC4g",
            boldNodeLabel: "_3yWQA",
            tokenExplanation: "_2FeBh",
            nodeLabel: "_3y5IC",
            flagDisabled: "_2bKn6",
            tooltip: "OyRPR",
            flags: "_3kVx0",
            delimiter: "_1eQvA",
            parentTokens: "MrScI",
            groupSuffix: "_15mFL",
            positive: "_21tQ_",
            negative: "_3tard"
        }
    },
    "./app/js/parsers/ExplanationEngine/utils.js": function(e, t, n) {
        "use strict";
        n.d(t, "f", function() {
            return c
        }), n.d(t, "d", function() {
            return u
        }), n.d(t, "c", function() {
            return l
        }), n.d(t, "e", function() {
            return p
        }), n.d(t, "b", function() {
            return f
        }), n.d(t, "a", function() {
            return y
        }), n.d(t, "h", function() {
            return b
        }), n.d(t, "g", function() {
            return d
        });
        var r = n("./node_modules/lodash/lodash.js"),
            o = n.n(r),
            a = n("./app/js/constants/RegexTypes.js"),
            i = n("./app/js/parsers/ExplanationEngine/tokenStyles.css"),
            s = n.n(i);

        function c(e) {
            return h(s.a.tokenSample, e)
        }

        function u(e) {
            var t = !(arguments.length > 1 && void 0 !== arguments[1]) || arguments[1];
            return h(s.a.keyword, e, t)
        }

        function l(e) {
            return h(s.a.info, e)
        }

        function p(e) {
            return h(s.a.plainText, e)
        }

        function f(e) {
            return e.replace(/(?:\r\n?|\n)/g, "\u21b5")
        }

        function y(e) {
            return f(o.a.escape(e))
        }

        function b(e) {
            var t = ["th", "st", "nd", "rd"],
                n = e % 100;
            return e + (t[(n - 20) % 10] || t[n] || t[0])
        }

        function h(e, t) {
            return !(arguments.length > 2 && void 0 !== arguments[2]) || arguments[2] ? '<span class="'.concat(e, '">').concat(o.a.escape(t), "</span>") : '<span class="'.concat(e, '">').concat(t, "</span>")
        }

        function d(e, t) {
            var n = [],
                r = [];
            if (function e(t, r) {
                    var s = null;
                    for (var c = 0, u = r.length; c < u; c++) {
                        var l = r[c];
                        if (!(-1 !== n.indexOf(l) || l.type === a.q || l.type === a.i || a.bb(l.type) && ")" === l.string || l.partOfRange)) {
                            n.push(l);
                            var p = o(l, l.parent && l.parent.type === a.j);
                            if (l.quantifier) {
                                var f = o(l.quantifier);
                                p.nodeLabel.push(f.token), l.quantifier.quantifier && (f.string += l.quantifier.quantifier.string, p.nodeLabel.push(l.quantifier.quantifier), n.push(l.quantifier.quantifier)), p.children.push(f), n.push(l.quantifier)
                            } else if (i(l)) {
                                s.string += l.string;
                                continue
                            }
                            if (l.type === a.j) {
                                var y = {
                                    children: [],
                                    conditional: l,
                                    type: a.k,
                                    string: "",
                                    state: l.state
                                };
                                l.lookaround && y.children.push(l.condition), e(p.children, [y].concat(l.children))
                            } else e(p.children, l.children);
                            s = p, t.push(p)
                        }
                    }
                }(r, e), 0 === r.length) throw new Error("No tokens explained, this is weird.");
            return t && r.push({
                children: [],
                nodeLabel: [],
                token: {
                    type: a.s,
                    globalFlags: t,
                    flavor: r[0].token.state.flavor,
                    children: []
                }
            }), r;

            function o(e, t) {
                var n = [];
                return e.type !== a.a && n.push(e),
                    function e(t, n, r) {
                        for (var o = 0, a = n.length; o < a; o++) {
                            var i = n[o];
                            r && i.isCondition || (t.push(i), e(t, i.children, r))
                        }
                    }(n, e.children, t), {
                        string: e.string,
                        children: [],
                        nodeLabel: n,
                        token: e
                    }
            }

            function i(e) {
                var t = e.state.actualPreviousToken;
                return t && e.type === a.M && t.type === a.M && !e.quantifier && !e.partOfRange && !t.partOfRange
            }
        }
    },
    "./app/js/parsers/RegexParser/RegexAreaParser.js": function(e, t, n) {
        "use strict";
        var r = n("./app/js/parsers/RegexParser/RegexParser.js");
        t.a = new r.a
    },
    "./app/js/parsers/RegexParser/RegexParser.js": function(e, t, n) {
        "use strict";
        var r = n("./node_modules/memoize-one/dist/memoize-one.esm.js"),
            o = n("./app/js/parsers/BaseParser.js"),
            a = n("./app/js/parsers/StringStream.js"),
            i = n("./app/js/constants/RegexTypes.js"),
            s = n("./app/js/constants/Flavors.js"),
            c = n.n(s),
            u = n("./app/js/parsers/Tokens/Token.js");

        function l(e) {
            return (l = "function" === typeof Symbol && "symbol" === typeof Symbol.iterator ? function(e) {
                return typeof e
            } : function(e) {
                return e && "function" === typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e
            })(e)
        }

        function p(e, t) {
            for (var n = 0; n < t.length; n++) {
                var r = t[n];
                r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(e, r.key, r)
            }
        }

        function f(e, t) {
            return !t || "object" !== l(t) && "function" !== typeof t ? function(e) {
                if (void 0 === e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
                return e
            }(e) : t
        }

        function y(e) {
            return (y = Object.setPrototypeOf ? Object.getPrototypeOf : function(e) {
                return e.__proto__ || Object.getPrototypeOf(e)
            })(e)
        }

        function b(e, t) {
            return (b = Object.setPrototypeOf || function(e, t) {
                return e.__proto__ = t, e
            })(e, t)
        }
        var h = function(e) {
                function t(e) {
                    var n;
                    return function(e, t) {
                        if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function")
                    }(this, t), (n = f(this, y(t).call(this, e, i.a)))._string = "", n
                }
                var n, r, o;
                return function(e, t) {
                    if ("function" !== typeof t && null !== t) throw new TypeError("Super expression must either be null or a function");
                    e.prototype = Object.create(t && t.prototype, {
                        constructor: {
                            value: e,
                            writable: !0,
                            configurable: !0
                        }
                    }), t && b(e, t)
                }(t, u["a"]), n = t, (r = [{
                    key: "_getNextState",
                    value: function(e) {
                        return e.parents.push(this), e.previousToken = this._state.previousToken, e
                    }
                }, {
                    key: "alternative",
                    get: function() {
                        return 0
                    }
                }]) && p(n.prototype, r), o && p(n, o), t
            }(),
            d = n("./app/js/parsers/RegexParser/Tokenizers/PCRETokenizer.js"),
            m = n("./app/js/parsers/RegexParser/Tokenizers/JavascriptTokenizer.js"),
            g = n("./app/js/parsers/Tokens/OpenQuote.js"),
            v = n("./app/js/parsers/Tokens/EndQuote.js"),
            _ = n("./app/js/parsers/Tokens/PlainText.js"),
            O = n("./app/js/parsers/Tokens/OpenCharClass.js"),
            j = n("./app/js/parsers/Tokens/CloseCharClass.js"),
            w = n("./app/js/parsers/Tokens/PosixClass.js"),
            k = n("./app/js/parsers/Tokens/OctalEscape.js"),
            E = n("./app/js/parsers/Tokens/InlineModifiers.js"),
            S = n("./app/js/parsers/Tokens/CapturingGroup.js"),
            x = n("./app/js/parsers/Tokens/ModifierGroup.js"),
            C = n("./app/js/parsers/Tokens/NamedCapturingGroup.js"),
            P = n("./app/js/parsers/Tokens/NonCapturingGroup.js"),
            T = n("./app/js/parsers/Tokens/DuplicateSubpatternGroup.js"),
            R = n("./app/js/constants/RegexErrors.js"),
            N = n("./app/js/parsers/Tokens/UnicodeProperty.js");

        function M(e) {
            return (M = "function" === typeof Symbol && "symbol" === typeof Symbol.iterator ? function(e) {
                return typeof e
            } : function(e) {
                return e && "function" === typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e
            })(e)
        }

        function A(e, t) {
            for (var n = 0; n < t.length; n++) {
                var r = t[n];
                r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(e, r.key, r)
            }
        }

        function I(e, t) {
            return !t || "object" !== M(t) && "function" !== typeof t ? function(e) {
                if (void 0 === e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
                return e
            }(e) : t
        }

        function L(e) {
            return (L = Object.setPrototypeOf ? Object.getPrototypeOf : function(e) {
                return e.__proto__ || Object.getPrototypeOf(e)
            })(e)
        }

        function D(e, t) {
            return (D = Object.setPrototypeOf || function(e, t) {
                return e.__proto__ = t, e
            })(e, t)
        }
        var q = ["Ahom", "Anatolian_Hieroglyphs", "Arabic", "Armenian", "Avestan", "Balinese", "Bamum", "Bassa_Vah", "Batak", "Bengali", "Bopomofo", "Brahmi", "Braille", "Buginese", "Buhid", "Canadian_Aboriginal", "Carian", "Caucasian_Albanian", "Chakma", "Cham", "Cherokee", "Common", "Coptic", "Cuneiform", "Cypriot", "Cyrillic", "Deseret", "Devanagari", "Duployan", "Egyptian_Hieroglyphs", "Elbasan", "Ethiopic", "Georgian", "Glagolitic", "Gothic", "Grantha", "Greek", "Gujarati", "Gurmukhi", "Han", "Hangul", "Hanunoo", "Hatran", "Hebrew", "Hiragana", "Imperial_Aramaic", "Inherited", "Inscriptional_Pahlavi", "Inscriptional_Parthian", "Javanese", "Kaithi", "Kannada", "Katakana", "Kayah_Li", "Kharoshthi", "Khmer", "Khojki", "Khudawadi", "Lao", "Latin", "Lepcha", "Limbu", "Linear_A", "Linear_B", "Lisu", "Lycian", "Lydian", "Mahajani", "Malayalam", "Mandaic", "Manichaean", "Meetei_Mayek", "Mende_Kikakui", "Meroitic_Cursive", "Meroitic_Hieroglyphs", "Miao", "Modi", "Mongolian", "Mro", "Multani", "Myanmar", "Nabataean", "New_Tai_Lue", "Nko", "Ogham", "Ol_Chiki", "Old_Hungarian", "Old_Italic", "Old_North_Arabian", "Old_Permic", "Old_Persian", "Old_South_Arabian", "Old_Turkic", "Oriya", "Osmanya", "Pahawh_Hmong", "Palmyrene", "Pau_Cin_Hau", "Phags_Pa", "Phoenician", "Psalter_Pahlavi", "Rejang", "Runic", "Samaritan", "Saurashtra", "Sharada", "Shavian", "Siddham", "SignWriting", "Sinhala", "Sora_Sompeng", "Sundanese", "Syloti_Nagri", "Syriac", "Tagalog", "Tagbanwa", "Tai_Le", "Tai_Tham", "Tai_Viet", "Takri", "Tamil", "Telugu", "Thaana", "Thai", "Tibetan", "Tifinagh", "Tirhuta", "Ugaritic", "Vai", "Warang_Citi", "Yi", "C", "Cc", "Cf", "Co", "Cs", "L", "Ll", "Lm", "Lo", "Lt", "Lu", "M", "Mc", "Me", "Mn", "N", "Nd", "Nl", "No", "P", "Pc", "Pd", "Pe", "Pf", "Pi", "Po", "Ps", "S", "Sc", "Sk", "Sm", "So", "Z", "Zl", "Zp", "Zs"],
            F = function(e) {
                function t() {
                    return function(e, t) {
                        if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function")
                    }(this, t), I(this, L(t).apply(this, arguments))
                }
                var n, r, o;
                return function(e, t) {
                    if ("function" !== typeof t && null !== t) throw new TypeError("Super expression must either be null or a function");
                    e.prototype = Object.create(t && t.prototype, {
                        constructor: {
                            value: e,
                            writable: !0,
                            configurable: !0
                        }
                    }), t && D(e, t)
                }(t, N["a"]), n = t, (r = [{
                    key: "parseComplete",
                    value: function() {
                        N.a.prototype.parseComplete.call(this), -1 === q.indexOf(this._script) && (this.error = R.Q)
                    }
                }]) && A(n.prototype, r), o && A(n, o), t
            }(),
            z = n("./app/js/parsers/Tokens/MetaEscape.js"),
            G = n("./app/js/parsers/Tokens/VerticalTab.js"),
            B = n("./app/js/parsers/Tokens/GoLang/HexEscape.js"),
            U = n("./app/js/parsers/Tokens/GoLang/EscapedLiteral.js"),
            H = n("./app/js/parsers/Tokens/Quantifier.js");

        function W(e) {
            return (W = "function" === typeof Symbol && "symbol" === typeof Symbol.iterator ? function(e) {
                return typeof e
            } : function(e) {
                return e && "function" === typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e
            })(e)
        }

        function V(e, t) {
            for (var n = 0; n < t.length; n++) {
                var r = t[n];
                r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(e, r.key, r)
            }
        }

        function K(e, t) {
            return !t || "object" !== W(t) && "function" !== typeof t ? function(e) {
                if (void 0 === e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
                return e
            }(e) : t
        }

        function $(e) {
            return ($ = Object.setPrototypeOf ? Object.getPrototypeOf : function(e) {
                return e.__proto__ || Object.getPrototypeOf(e)
            })(e)
        }

        function Y(e, t) {
            return (Y = Object.setPrototypeOf || function(e, t) {
                return e.__proto__ = t, e
            })(e, t)
        }
        var J = function(e) {
                function t() {
                    return function(e, t) {
                        if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function")
                    }(this, t), K(this, $(t).apply(this, arguments))
                }
                var n, r, o;
                return function(e, t) {
                    if ("function" !== typeof t && null !== t) throw new TypeError("Super expression must either be null or a function");
                    e.prototype = Object.create(t && t.prototype, {
                        constructor: {
                            value: e,
                            writable: !0,
                            configurable: !0
                        }
                    }), t && Y(e, t)
                }(t, H["a"]), n = t, (r = [{
                    key: "parseComplete",
                    value: function() {
                        H.a.prototype.parseComplete.call(this), (this._from > 1e3 || this._to !== 1 / 0 && this._to > 1e3) && (this.error = R.H)
                    }
                }]) && V(n.prototype, r), o && V(n, o), t
            }(),
            Q = n("./app/js/parsers/Tokens/CharacterRange.js");

        function X(e) {
            return (X = "function" === typeof Symbol && "symbol" === typeof Symbol.iterator ? function(e) {
                return typeof e
            } : function(e) {
                return e && "function" === typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e
            })(e)
        }

        function Z(e, t) {
            for (var n = 0; n < t.length; n++) {
                var r = t[n];
                r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(e, r.key, r)
            }
        }

        function ee(e, t) {
            return !t || "object" !== X(t) && "function" !== typeof t ? function(e) {
                if (void 0 === e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
                return e
            }(e) : t
        }

        function te(e) {
            return (te = Object.setPrototypeOf ? Object.getPrototypeOf : function(e) {
                return e.__proto__ || Object.getPrototypeOf(e)
            })(e)
        }

        function ne(e, t) {
            return (ne = Object.setPrototypeOf || function(e, t) {
                return e.__proto__ = t, e
            })(e, t)
        }
        var re = function(e) {
                function t() {
                    return function(e, t) {
                        if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function")
                    }(this, t), ee(this, te(t).apply(this, arguments))
                }
                var n, r, o;
                return function(e, t) {
                    if ("function" !== typeof t && null !== t) throw new TypeError("Super expression must either be null or a function");
                    e.prototype = Object.create(t && t.prototype, {
                        constructor: {
                            value: e,
                            writable: !0,
                            configurable: !0
                        }
                    }), t && ne(e, t)
                }(t, Q["a"]), n = t, (r = [{
                    key: "_revalidate",
                    value: function(e, t) {
                        return null == e.charCode ? (this._convertToPlainText(), !1) : Q.a.prototype._revalidate.apply(this, arguments)
                    }
                }]) && Z(n.prototype, r), o && Z(n, o), t
            }(),
            oe = n("./app/js/parsers/RegexParser/Tokenizers/Tokenizer.js");

        function ae(e) {
            return (ae = "function" === typeof Symbol && "symbol" === typeof Symbol.iterator ? function(e) {
                return typeof e
            } : function(e) {
                return e && "function" === typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e
            })(e)
        }

        function ie(e, t) {
            for (var n = 0; n < t.length; n++) {
                var r = t[n];
                r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(e, r.key, r)
            }
        }

        function se(e, t) {
            return !t || "object" !== ae(t) && "function" !== typeof t ? function(e) {
                if (void 0 === e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
                return e
            }(e) : t
        }

        function ce(e) {
            return (ce = Object.setPrototypeOf ? Object.getPrototypeOf : function(e) {
                return e.__proto__ || Object.getPrototypeOf(e)
            })(e)
        }

        function ue(e, t) {
            return (ue = Object.setPrototypeOf || function(e, t) {
                return e.__proto__ = t, e
            })(e, t)
        }
        var le = function(e) {
                function t() {
                    return function(e, t) {
                        if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function")
                    }(this, t), se(this, ce(t).apply(this, arguments))
                }
                var n, r, o;
                return function(e, t) {
                    if ("function" !== typeof t && null !== t) throw new TypeError("Super expression must either be null or a function");
                    e.prototype = Object.create(t && t.prototype, {
                        constructor: {
                            value: e,
                            writable: !0,
                            configurable: !0
                        }
                    }), t && ue(e, t)
                }(t, oe["a"]), n = t, o = [{
                    key: "getTokenizers",
                    value: function() {
                        return [t._parseEndQuote, t._parseQuotedLiteral, t._parseOpenQuote, t._parseOpenCharClass, t._parseCloseCharClass, t._parsePosixClass, t._parseCharacterRange, t._parseOctal, t._parseInlineModifiers, t._parseGroup, t._parseCloseGroup, t._parseAlternator, t._parseQuantifier, t._parseUnicodeProperty, t._parseHex, t._parseNonBackslashMeta, t._parseMetaSequence, t._parseEscapedLiteral, t._parseTrailingBackslash, t._parseUnescapedDelimiter, t._parsePlainText]
                    }
                }, {
                    key: "_parseEndQuote",
                    value: function(e, t, n) {
                        if ("\\" === t && n.inQuote && e.matchString("\\E")) return new v.a(n)
                    }
                }, {
                    key: "_parseQuotedLiteral",
                    value: function(e, t, n) {
                        if (n.inQuote) return e.next(), new _.a(n)
                    }
                }, {
                    key: "_parseOpenQuote",
                    value: function(e, t, n) {
                        if ("\\" === t && !n.inCharClass && e.matchString("\\Q")) return new g.a(n)
                    }
                }, {
                    key: "_parseOpenCharClass",
                    value: function(e, t, n) {
                        if (!n.inCharClass && "[" === t && e.match(/^\[\^?/)) return new O.a(n)
                    }
                }, {
                    key: "_parseCloseCharClass",
                    value: function(e, t, n) {
                        if (n.inCharClass && e.eat("]")) return n.previousToken.type === i.K ? new _.a(n) : new j.a(n)
                    }
                }, {
                    key: "_parsePosixClass",
                    value: function(e, t, n) {
                        if ("[" === t && e.match(/^\[:\^?([^:]*):]/)) return new w.a(n)
                    }
                }, {
                    key: "_parseCharacterRange",
                    value: function(e, t, n) {
                        if (n.inCharClass && e.eat("-")) return new re(n)
                    }
                }, {
                    key: "_parseOctal",
                    value: function(e, t, n) {
                        if ("\\" === t && e.match(/^\\(?:[1-7][0-7]{1,2}|[0-7]{2,3})/)) return new k.a(n)
                    }
                }, {
                    key: "_parseInlineModifiers",
                    value: function(e, t, n) {
                        if (!n.inCharClass && "(" === t && e.match(/^\(\?[imsU-]*\)/)) return new E.a(n)
                    }
                }, {
                    key: "_parseGroup",
                    value: function(e, t, n) {
                        var r;
                        if (!n.inCharClass && "(" === t && (r = e.match(/^\((?:\?(?:[imsU-]*:|P<\w+>))?/))) {
                            var o = r[0].replace(/\w+/g, "");
                            if ("(" === r[0]) return new S.a(n);
                            if ("(?:" === r[0]) return new P.a(n);
                            if ("(?|" === r[0]) return new T.a(n);
                            if ("(?<>" === o) return new C.a(n);
                            if (/^\(\?[imsU-]+:/.test(r[0])) return new x.a(n);
                            throw new Error("Unknown group structure '".concat(o, "'"))
                        }
                    }
                }, {
                    key: "_parseQuantifier",
                    value: function(e, t, n) {
                        if (!n.inCharClass && -1 !== "+*?{".indexOf(t) && e.match(/^(?:[*+?]|{\d+,?\d*})/)) return new J(n)
                    }
                }, {
                    key: "_parseUnicodeProperty",
                    value: function(e, t, n) {
                        if ("\\" === t && e.match(/^\\[pP](?:C[cfos]?|L[lmotu]?|M[cen]?|N[dlo]?|P[cdefios]?|S[ckmo]?|Z[lps]?|{\^?\w+}?)?/)) return new F(n)
                    }
                }, {
                    key: "_parseHex",
                    value: function(e, t, n) {
                        if ("\\" === t && e.match(/^\\x(?:[0-9A-Fa-f]{2}|{[0-9A-Fa-f]+}?)/)) return new B.a(n)
                    }
                }, {
                    key: "_parseMetaSequence",
                    value: function(e, t, n) {
                        var r;
                        if ("\\" === t && (r = e.match(/^\\[WwDdSspPABbzaftnrv]/))) return "\\v" === r[0] ? new G.a(n) : n.inCharClass ? /^\\[trnfaedDpPsSvwW]/.test(r[0]) ? new z.a(n) : new U.a(n) : new z.a(n)
                    }
                }, {
                    key: "_parseEscapedLiteral",
                    value: function(e, t, n) {
                        if ("\\" === t && e.match(/^\\[\s\S]/)) return new U.a(n)
                    }
                }], (r = null) && ie(n.prototype, r), o && ie(n, o), t
            }(),
            pe = n("./app/js/parsers/Tokens/NamedBackreference.js"),
            fe = n("./app/js/parsers/Tokens/NumericBackreference.js");

        function ye(e) {
            return (ye = "function" === typeof Symbol && "symbol" === typeof Symbol.iterator ? function(e) {
                return typeof e
            } : function(e) {
                return e && "function" === typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e
            })(e)
        }

        function be(e, t) {
            return !t || "object" !== ye(t) && "function" !== typeof t ? function(e) {
                if (void 0 === e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
                return e
            }(e) : t
        }

        function he(e) {
            return (he = Object.setPrototypeOf ? Object.getPrototypeOf : function(e) {
                return e.__proto__ || Object.getPrototypeOf(e)
            })(e)
        }

        function de(e, t) {
            return (de = Object.setPrototypeOf || function(e, t) {
                return e.__proto__ = t, e
            })(e, t)
        }
        var me = function(e) {
                function t(e) {
                    var n;
                    return function(e, t) {
                        if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function")
                    }(this, t), n = be(this, he(t).call(this, e)), e.inCharClass && (n.error = R.C), n
                }
                return function(e, t) {
                    if ("function" !== typeof t && null !== t) throw new TypeError("Super expression must either be null or a function");
                    e.prototype = Object.create(t && t.prototype, {
                        constructor: {
                            value: e,
                            writable: !0,
                            configurable: !0
                        }
                    }), t && de(e, t)
                }(t, fe["a"]), t
            }(),
            ge = n("./app/js/parsers/Tokens/EscapedLiteral.js"),
            ve = n("./app/js/parsers/Tokens/NegativeLookahead.js"),
            _e = n("./app/js/parsers/Tokens/NegativeLookbehind.js"),
            Oe = n("./app/js/parsers/Tokens/PositiveLookahead.js"),
            je = n("./app/js/parsers/Tokens/PositiveLookbehind.js"),
            we = n("./app/js/parsers/Tokens/Backspace.js"),
            ke = n("./app/js/parsers/Tokens/HexEscape.js");

        function Ee(e) {
            return (Ee = "function" === typeof Symbol && "symbol" === typeof Symbol.iterator ? function(e) {
                return typeof e
            } : function(e) {
                return e && "function" === typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e
            })(e)
        }

        function Se(e, t) {
            for (var n = 0; n < t.length; n++) {
                var r = t[n];
                r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(e, r.key, r)
            }
        }

        function xe(e, t) {
            return !t || "object" !== Ee(t) && "function" !== typeof t ? function(e) {
                if (void 0 === e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
                return e
            }(e) : t
        }

        function Ce(e) {
            return (Ce = Object.setPrototypeOf ? Object.getPrototypeOf : function(e) {
                return e.__proto__ || Object.getPrototypeOf(e)
            })(e)
        }

        function Pe(e, t) {
            return (Pe = Object.setPrototypeOf || function(e, t) {
                return e.__proto__ = t, e
            })(e, t)
        }
        var Te = function(e) {
            function t() {
                return function(e, t) {
                    if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function")
                }(this, t), xe(this, Ce(t).apply(this, arguments))
            }
            var n, r, o;
            return function(e, t) {
                if ("function" !== typeof t && null !== t) throw new TypeError("Super expression must either be null or a function");
                e.prototype = Object.create(t && t.prototype, {
                    constructor: {
                        value: e,
                        writable: !0,
                        configurable: !0
                    }
                }), t && Pe(e, t)
            }(t, ke["a"]), n = t, (r = [{
                key: "parseComplete",
                value: function() {
                    ke.a.prototype.parseComplete.call(this), "\\x" === this._string && (this.error = R.n)
                }
            }]) && Se(n.prototype, r), o && Se(n, o), t
        }();

        function Re(e) {
            return (Re = "function" === typeof Symbol && "symbol" === typeof Symbol.iterator ? function(e) {
                return typeof e
            } : function(e) {
                return e && "function" === typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e
            })(e)
        }

        function Ne(e, t) {
            for (var n = 0; n < t.length; n++) {
                var r = t[n];
                r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(e, r.key, r)
            }
        }

        function Me(e, t) {
            return !t || "object" !== Re(t) && "function" !== typeof t ? function(e) {
                if (void 0 === e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
                return e
            }(e) : t
        }

        function Ae(e) {
            return (Ae = Object.setPrototypeOf ? Object.getPrototypeOf : function(e) {
                return e.__proto__ || Object.getPrototypeOf(e)
            })(e)
        }

        function Ie(e, t) {
            return (Ie = Object.setPrototypeOf || function(e, t) {
                return e.__proto__ = t, e
            })(e, t)
        }
        var Le = function(e) {
            function t() {
                return function(e, t) {
                    if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function")
                }(this, t), Me(this, Ae(t).apply(this, arguments))
            }
            var n, r, o;
            return function(e, t) {
                if ("function" !== typeof t && null !== t) throw new TypeError("Super expression must either be null or a function");
                e.prototype = Object.create(t && t.prototype, {
                    constructor: {
                        value: e,
                        writable: !0,
                        configurable: !0
                    }
                }), t && Ie(e, t)
            }(t, E["a"]), n = t, (r = [{
                key: "parseComplete",
                value: function() {
                    E.a.prototype.parseComplete.call(this), 0 !== this._position.start ? this.error = R.E : -1 !== this._flags.indexOf("u") && -1 !== this._flags.indexOf("a") && (this.error = R.D)
                }
            }]) && Ne(n.prototype, r), o && Ne(n, o), t
        }();

        function De(e) {
            return (De = "function" === typeof Symbol && "symbol" === typeof Symbol.iterator ? function(e) {
                return typeof e
            } : function(e) {
                return e && "function" === typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e
            })(e)
        }

        function qe(e, t) {
            for (var n = 0; n < t.length; n++) {
                var r = t[n];
                r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(e, r.key, r)
            }
        }

        function Fe(e, t) {
            return !t || "object" !== De(t) && "function" !== typeof t ? function(e) {
                if (void 0 === e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
                return e
            }(e) : t
        }

        function ze(e) {
            return (ze = Object.setPrototypeOf ? Object.getPrototypeOf : function(e) {
                return e.__proto__ || Object.getPrototypeOf(e)
            })(e)
        }

        function Ge(e, t) {
            return (Ge = Object.setPrototypeOf || function(e, t) {
                return e.__proto__ = t, e
            })(e, t)
        }
        var Be = function(e) {
                function t() {
                    return function(e, t) {
                        if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function")
                    }(this, t), Fe(this, ze(t).apply(this, arguments))
                }
                var n, r, o;
                return function(e, t) {
                    if ("function" !== typeof t && null !== t) throw new TypeError("Super expression must either be null or a function");
                    e.prototype = Object.create(t && t.prototype, {
                        constructor: {
                            value: e,
                            writable: !0,
                            configurable: !0
                        }
                    }), t && Ge(e, t)
                }(t, H["a"]), n = t, (r = [{
                    key: "parseComplete",
                    value: function() {
                        H.a.prototype.parseComplete.call(this), (this._from > 65535 || this._to !== 1 / 0 && this._to > 65535) && (this.error = R.H)
                    }
                }]) && qe(n.prototype, r), o && qe(n, o), t
            }(),
            Ue = n("./app/js/parsers/Tokens/GroupToken.js");

        function He(e) {
            return (He = "function" === typeof Symbol && "symbol" === typeof Symbol.iterator ? function(e) {
                return typeof e
            } : function(e) {
                return e && "function" === typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e
            })(e)
        }

        function We(e, t) {
            for (var n = 0; n < t.length; n++) {
                var r = t[n];
                r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(e, r.key, r)
            }
        }

        function Ve(e, t) {
            return !t || "object" !== He(t) && "function" !== typeof t ? function(e) {
                if (void 0 === e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
                return e
            }(e) : t
        }

        function Ke(e) {
            return (Ke = Object.setPrototypeOf ? Object.getPrototypeOf : function(e) {
                return e.__proto__ || Object.getPrototypeOf(e)
            })(e)
        }

        function $e(e, t) {
            return ($e = Object.setPrototypeOf || function(e, t) {
                return e.__proto__ = t, e
            })(e, t)
        }
        var Ye = function(e) {
                function t(e) {
                    var n;
                    return function(e, t) {
                        if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function")
                    }(this, t), (n = Ve(this, Ke(t).call(this, e, i.j, !0)))._condition = null, n._reference = null, n
                }
                var n, r, o;
                return function(e, t) {
                    if ("function" !== typeof t && null !== t) throw new TypeError("Super expression must either be null or a function");
                    e.prototype = Object.create(t && t.prototype, {
                        constructor: {
                            value: e,
                            writable: !0,
                            configurable: !0
                        }
                    }), t && $e(e, t)
                }(t, Ue["a"]), n = t, (r = [{
                    key: "parseComplete",
                    value: function() {
                        this._condition = this._string.slice(3, -1)
                    }
                }, {
                    key: "_getNextState",
                    value: function(e) {
                        return e.conditionals.push(this), Ue.a.prototype._getNextState.call(this, e)
                    }
                }, {
                    key: "_revalidate",
                    value: function(e) {
                        return this._condition && this._closeGroup ? (this._reference = isNaN(this._condition) ? this._condition : parseInt(this._condition, 10), e.captureGroupMap[this._condition] || (this.error = R.u), !!this.error) : (this.error = R.l, !0)
                    }
                }, {
                    key: "lookaround",
                    get: function() {
                        return !1
                    }
                }, {
                    key: "backreference",
                    get: function() {
                        return !0
                    }
                }, {
                    key: "subroutine",
                    get: function() {
                        return !1
                    }
                }, {
                    key: "reference",
                    get: function() {
                        return this._reference
                    }
                }, {
                    key: "condition",
                    get: function() {
                        return this._condition
                    }
                }]) && We(n.prototype, r), o && We(n, o), t
            }(),
            Je = n("./app/js/parsers/Tokens/UnicodeEscape.js");

        function Qe(e) {
            return (Qe = "function" === typeof Symbol && "symbol" === typeof Symbol.iterator ? function(e) {
                return typeof e
            } : function(e) {
                return e && "function" === typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e
            })(e)
        }

        function Xe(e, t) {
            for (var n = 0; n < t.length; n++) {
                var r = t[n];
                r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(e, r.key, r)
            }
        }

        function Ze(e, t) {
            return !t || "object" !== Qe(t) && "function" !== typeof t ? function(e) {
                if (void 0 === e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
                return e
            }(e) : t
        }

        function et(e) {
            return (et = Object.setPrototypeOf ? Object.getPrototypeOf : function(e) {
                return e.__proto__ || Object.getPrototypeOf(e)
            })(e)
        }

        function tt(e, t) {
            return (tt = Object.setPrototypeOf || function(e, t) {
                return e.__proto__ = t, e
            })(e, t)
        }
        var nt = function(e) {
            function t() {
                return function(e, t) {
                    if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function")
                }(this, t), Ze(this, et(t).apply(this, arguments))
            }
            var n, r, o;
            return function(e, t) {
                if ("function" !== typeof t && null !== t) throw new TypeError("Super expression must either be null or a function");
                e.prototype = Object.create(t && t.prototype, {
                    constructor: {
                        value: e,
                        writable: !0,
                        configurable: !0
                    }
                }), t && tt(e, t)
            }(t, Je["a"]), n = t, (r = [{
                key: "parseComplete",
                value: function() {
                    Je.a.prototype.parseComplete.call(this), parseInt(this._hex, 16) >= parseInt("0xd800", 16) && parseInt(this._hex, 16) <= parseInt("0xdfff", 16) && (this.error = R.i)
                }
            }]) && Xe(n.prototype, r), o && Xe(n, o), t
        }();

        function rt(e) {
            return (rt = "function" === typeof Symbol && "symbol" === typeof Symbol.iterator ? function(e) {
                return typeof e
            } : function(e) {
                return e && "function" === typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e
            })(e)
        }

        function ot(e, t) {
            for (var n = 0; n < t.length; n++) {
                var r = t[n];
                r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(e, r.key, r)
            }
        }

        function at(e, t) {
            return !t || "object" !== rt(t) && "function" !== typeof t ? function(e) {
                if (void 0 === e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
                return e
            }(e) : t
        }

        function it(e) {
            return (it = Object.setPrototypeOf ? Object.getPrototypeOf : function(e) {
                return e.__proto__ || Object.getPrototypeOf(e)
            })(e)
        }

        function st(e, t) {
            return (st = Object.setPrototypeOf || function(e, t) {
                return e.__proto__ = t, e
            })(e, t)
        }
        var ct = function(e) {
            function t() {
                return function(e, t) {
                    if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function")
                }(this, t), at(this, it(t).apply(this, arguments))
            }
            var n, r, o;
            return function(e, t) {
                if ("function" !== typeof t && null !== t) throw new TypeError("Super expression must either be null or a function");
                e.prototype = Object.create(t && t.prototype, {
                    constructor: {
                        value: e,
                        writable: !0,
                        configurable: !0
                    }
                }), t && st(e, t)
            }(t, oe["a"]), n = t, o = [{
                key: "getTokenizers",
                value: function() {
                    return [t._parseOpenCharClass, t._parseCloseCharClass, t._parseCharacterRange, t._parseNamedBackreference, t._parseOctal, t._parseNumericBackreference, t._parseInlineModifiers, t._parseGroupComment, t._parseGroup, t._parseCloseGroup, t._parseAlternator, t._parseQuantifier, t._parseHex, t._parseUnicodeEscape, t._parseNonBackslashMeta, t._parseMetaSequence, t._parseEscapedLiteral, t._parseComment, t._parseTrailingBackslash, t._parseUnescapedDelimiter, t._parsePlainText]
                }
            }, {
                key: "_parseOpenCharClass",
                value: function(e, t, n) {
                    if (!n.inCharClass && "[" === t && e.match(/^\[\^?/)) return new O.a(n)
                }
            }, {
                key: "_parseCloseCharClass",
                value: function(e, t, n) {
                    if (n.inCharClass && e.eat("]")) return n.previousToken.type === i.K ? new _.a(n) : new j.a(n)
                }
            }, {
                key: "_parseCharacterRange",
                value: function(e, t, n) {
                    if (n.inCharClass && e.eat("-")) return new Q.a(n)
                }
            }, {
                key: "_parseNamedBackreference",
                value: function(e, t, n) {
                    if (!n.inCharClass && "(" === t && e.match(/^\(\?P=\w+\)/)) return new pe.a(n)
                }
            }, {
                key: "_parseOctal",
                value: function(e, t, n) {
                    if ("\\" === t && (e.match(/^\\(?:0[0-7]?[0-7]?|[0-3][0-7]{2})/) || n.inCharClass && e.match(/^\\[0-7][0-7]{0,2}/))) return new k.a(n)
                }
            }, {
                key: "_parseNumericBackreference",
                value: function(e, t, n) {
                    if ("\\" === t && e.match(/^\\\d{1,2}/)) return new me(n)
                }
            }, {
                key: "_parseInlineModifiers",
                value: function(e, t, n) {
                    if (!n.inCharClass && "(" === t && e.match(/^\(\?[imsuax-]*\)/)) return new Le(n)
                }
            }, {
                key: "_parseGroup",
                value: function(e, t, n) {
                    var r;
                    if (!n.inCharClass && "(" === t && (r = e.match(/^\((?:\?(?:<[!=]|[!=]|:|P<\w+>)?)?/))) {
                        var o = r[0].replace(/\w+/g, "");
                        if ("(" === r[0]) return new S.a(n);
                        if ("(?:" === r[0]) return new P.a(n);
                        if ("(?<>" === o) return new C.a(n);
                        if (/^\(\?[imsuax-]+:/.test(r[0])) return new x.a(n);
                        if ("(?=" === o) return new Oe.a(n);
                        if ("(?!" === o) return new ve.a(n);
                        if ("(?<=" === o) return new je.a(n);
                        if ("(?<!" === o) return new _e.a(n);
                        if ("(?" === o) return e.match(/^\(\w+\)/), new Ye(n);
                        throw new Error("Unknown group structure '".concat(o, "'"))
                    }
                }
            }, {
                key: "_parseQuantifier",
                value: function(e, t, n) {
                    if (!n.inCharClass && -1 !== "+*?{".indexOf(t) && e.match(/^(?:[*+?]|{(?:\d+,?\d*|,\d+)})/)) return new Be(n)
                }
            }, {
                key: "_parseHex",
                value: function(e, t, n) {
                    if ("\\" === t && e.match(/^\\x(?:[0-9A-Fa-f]{2})?/)) return new Te(n)
                }
            }, {
                key: "_parseUnicodeEscape",
                value: function(e, t, n) {
                    if ("\\" === t && e.match(/^\\(?:u[0-9a-fA-F]{4}|U[0-9a-fA-F]{8}|[uU])/)) return new nt(n)
                }
            }, {
                key: "_parseMetaSequence",
                value: function(e, t, n) {
                    var r;
                    if ("\\" === t && (r = e.match(/^\\[WwDdSsvaefntrBbAZ]/))) return "\\v" === r[0] ? new G.a(n) : n.inCharClass ? "\\b" === r[0] ? new we.a(n) : /^\\[trnfaedDsSvwW]/.test(r[0]) ? new z.a(n) : new ge.a(n) : new z.a(n)
                }
            }], (r = null) && ot(n.prototype, r), o && ot(n, o), t
        }();

        function ut(e) {
            return (ut = "function" === typeof Symbol && "symbol" === typeof Symbol.iterator ? function(e) {
                return typeof e
            } : function(e) {
                return e && "function" === typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e
            })(e)
        }

        function lt(e) {
            for (var t = 1; t < arguments.length; t++) {
                var n = null != arguments[t] ? arguments[t] : {},
                    r = Object.keys(n);
                "function" === typeof Object.getOwnPropertySymbols && (r = r.concat(Object.getOwnPropertySymbols(n).filter(function(e) {
                    return Object.getOwnPropertyDescriptor(n, e).enumerable
                }))), r.forEach(function(t) {
                    pt(e, t, n[t])
                })
            }
            return e
        }

        function pt(e, t, n) {
            return t in e ? Object.defineProperty(e, t, {
                value: n,
                enumerable: !0,
                configurable: !0,
                writable: !0
            }) : e[t] = n, e
        }

        function ft(e, t) {
            for (var n = 0; n < t.length; n++) {
                var r = t[n];
                r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(e, r.key, r)
            }
        }

        function yt(e, t) {
            return !t || "object" !== ut(t) && "function" !== typeof t ? function(e) {
                if (void 0 === e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
                return e
            }(e) : t
        }

        function bt(e) {
            return (bt = Object.setPrototypeOf ? Object.getPrototypeOf : function(e) {
                return e.__proto__ || Object.getPrototypeOf(e)
            })(e)
        }

        function ht(e, t) {
            return (ht = Object.setPrototypeOf || function(e, t) {
                return e.__proto__ = t, e
            })(e, t)
        }
        n.d(t, "b", function() {
            return _t
        }), n.d(t, "c", function() {
            return Ot
        }), n.d(t, "d", function() {
            return jt
        }), n.d(t, "e", function() {
            return wt
        }), n.d(t, "f", function() {
            return kt
        }), n.d(t, "g", function() {
            return Et
        });
        var dt = !1,
            mt = !1,
            gt = !1,
            vt = function(e) {
                function t() {
                    var e;
                    return function(e, t) {
                        if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function")
                    }(this, t), (e = yt(this, bt(t).call(this)))._captureGroupCount = 0, e._captureGroupMap = [], e._subpatterns = [], e._alternatives = 0, e._definedSubpatterns = [], e._getTokenizers = Object(r.a)(function(e) {
                        switch (e) {
                            case c.a.PCRE:
                                return d.a.getTokenizers();
                            case c.a.JAVASCRIPT:
                                return m.a.getTokenizers();
                            case c.a.GOLANG:
                                return le.getTokenizers();
                            case c.a.PYTHON:
                                return ct.getTokenizers();
                            default:
                                throw new Error("There is no tokenizer for '".concat(e, "'"))
                        }
                    }), e._initialState = {
                        alternatives: 0,
                        parents: [],
                        previousToken: null,
                        actualPreviousToken: null,
                        lineTerminators: null,
                        captureGroupCount: 0,
                        captureGroupMap: {},
                        subpatterns: [],
                        definedSubpatterns: [],
                        groups: [],
                        conditionals: [],
                        lookbehinds: [],
                        lookbehindCount: 0,
                        inDEFINE: !1,
                        inDuplicateSubpatternGroup: !1,
                        inQuote: !1,
                        inCharClass: !1,
                        charClasses: [],
                        ranges: [],
                        condition: null,
                        expectingCondition: !1,
                        subpatternTokens: []
                    }, e
                }
                var n, s, u;
                return function(e, t) {
                    if ("function" !== typeof t && null !== t) throw new TypeError("Super expression must either be null or a function");
                    e.prototype = Object.create(t && t.prototype, {
                        constructor: {
                            value: e,
                            writable: !0,
                            configurable: !0
                        }
                    }), t && ht(e, t)
                }(t, o["a"]), n = t, (s = [{
                    key: "_getLineTerminator",
                    value: function(e) {
                        switch (e) {
                            case c.a.PYTHON:
                            case c.a.GOLANG:
                            case c.a.PCRE:
                                return ["\\n"];
                            case c.a.JAVASCRIPT:
                                return ["\\n", "\\r", "\\u2028", "\\u2029"];
                            default:
                                throw new Error("Unknown line terminator for ".concat(e))
                        }
                    }
                }, {
                    key: "parse",
                    value: function(e) {
                        var t = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : {};
                        t = lt({
                            flavor: c.a.PCRE
                        }, t);
                        var n = lt({}, o.a.copyState(this._initialState), t, {
                                lineTerminators: this._getLineTerminator(t.flavor)
                            }),
                            r = new h(n);
                        n = r.nextState, this._tokens = [r], this._positionToTokenMap = [];
                        for (var s = new a.a(e); !s.eof;) {
                            var u = s.position,
                                l = this._token(t.flavor, s, n),
                                p = s.position;
                            if (l.position = {
                                    start: u,
                                    end: p
                                }, l.string = e.slice(u, p), t.editor) {
                                var f = t.editor.posFromIndex(u),
                                    y = t.editor.posFromIndex(p);
                                l.editorPosition = {
                                    start: {
                                        line: f.line,
                                        pos: f.ch
                                    },
                                    end: {
                                        line: y.line,
                                        pos: y.ch
                                    }
                                }
                            }
                            l.parseComplete();
                            for (var b = u; b < p; b++) this._positionToTokenMap[b] = l;
                            if (this._tokens.push(l), i.bb(l.type) && ")" !== l.string) {
                                var d = new h(l.nextState);
                                this._tokens.push(d), n = d.nextState
                            } else n = l.nextState
                        }
                        var m = n;
                        this._captureGroupCount = m.captureGroupCount, this._captureGroupMap = m.captureGroupMap, this._subpatterns = m.subpatterns, this._alternatives = m.alternatives, this._definedSubpatterns = m.definedSubpatterns, this._patternError = m.patternError;
                        for (var g = [].concat(m.groups, m.charClasses, m.subpatternTokens, m.ranges, m.conditionals, m.lookbehinds), v = 0, _ = g.length; v < _; v++) {
                            var O = g[v],
                                j = !1;
                            if (O.type === i.h) {
                                var w = this._tokens.indexOf(O),
                                    k = O.previousToken,
                                    E = this._tokens[w + 1];
                                j = O._revalidate(k, E)
                            } else j = O._revalidate(m);
                            !this._patternError && j && (this._patternError = j)
                        }
                        return this
                    }
                }, {
                    key: "_token",
                    value: function(e, t, n) {
                        for (var r = t.peek(), o = this._getTokenizers(e), a = 0, i = o.length; a < i; a++) {
                            var s = o[a].call(this, t, r, n);
                            if (null != s) return s
                        }
                        throw new Error("There was no tokenizer that could parse the regex '".concat(t.current, "'"))
                    }
                }, {
                    key: "captureGroupCount",
                    get: function() {
                        return this._captureGroupCount
                    }
                }, {
                    key: "captureGroupMap",
                    get: function() {
                        return this._captureGroupMap
                    }
                }, {
                    key: "subpatterns",
                    get: function() {
                        return this._subpatterns
                    }
                }, {
                    key: "alternatives",
                    get: function() {
                        return this._alternatives
                    }
                }, {
                    key: "definedSubpatterns",
                    get: function() {
                        return this._definedSubpatterns
                    }
                }]) && ft(n.prototype, s), u && ft(n, u), t
            }();
        t.a = vt;

        function _t() {
            dt = !0
        }

        function Ot() {
            mt = !0
        }

        function jt() {
            gt = !0
        }

        function wt() {
            return dt
        }

        function kt() {
            return mt
        }

        function Et() {
            return gt
        }
    },
    "./app/js/parsers/RegexParser/Tokenizers/JavascriptTokenizer.js": function(e, t, n) {
        "use strict";
        var r = n("./app/js/parsers/Tokens/OpenCharClass.js"),
            o = n("./app/js/parsers/Tokens/CloseCharClass.js"),
            a = n("./app/js/parsers/Tokens/NumericBackreference.js"),
            i = n("./app/js/parsers/Tokens/OctalEscape.js"),
            s = n("./app/js/parsers/Tokens/CapturingGroup.js"),
            c = n("./app/js/parsers/Tokens/NegativeLookahead.js"),
            u = n("./app/js/parsers/Tokens/PositiveLookahead.js"),
            l = n("./app/js/parsers/Tokens/NegativeLookbehind.js"),
            p = n("./app/js/parsers/Tokens/PositiveLookbehind.js"),
            f = n("./app/js/parsers/Tokens/NonCapturingGroup.js"),
            y = n("./app/js/parsers/Tokens/NamedCapturingGroup.js"),
            b = n("./app/js/parsers/Tokens/NamedBackreference.js"),
            h = n("./app/js/parsers/Tokens/MetaEscape.js"),
            d = n("./app/js/parsers/Tokens/Backspace.js"),
            m = n("./app/js/parsers/Tokens/VerticalTab.js"),
            g = n("./app/js/constants/RegexTypes.js"),
            v = n("./app/js/parsers/Tokens/Token.js"),
            _ = n("./app/js/parsers/Tokens/tokenStyles.css"),
            O = n.n(_);

        function j(e) {
            return (j = "function" === typeof Symbol && "symbol" === typeof Symbol.iterator ? function(e) {
                return typeof e
            } : function(e) {
                return e && "function" === typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e
            })(e)
        }

        function w(e, t) {
            return !t || "object" !== j(t) && "function" !== typeof t ? function(e) {
                if (void 0 === e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
                return e
            }(e) : t
        }

        function k(e) {
            return (k = Object.setPrototypeOf ? Object.getPrototypeOf : function(e) {
                return e.__proto__ || Object.getPrototypeOf(e)
            })(e)
        }

        function E(e, t) {
            return (E = Object.setPrototypeOf || function(e, t) {
                return e.__proto__ = t, e
            })(e, t)
        }
        var S = function(e) {
                function t(e) {
                    var n;
                    return function(e, t) {
                        if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function")
                    }(this, t), (n = w(this, k(t).call(this, e, g.o))).style = [O.a.charclass, O.a.meta], n._quantifiable = !0, n._length = 1, n
                }
                return function(e, t) {
                    if ("function" !== typeof t && null !== t) throw new TypeError("Super expression must either be null or a function");
                    e.prototype = Object.create(t && t.prototype, {
                        constructor: {
                            value: e,
                            writable: !0,
                            configurable: !0
                        }
                    }), t && E(e, t)
                }(t, v["a"]), t
            }(),
            x = n("./app/js/parsers/Tokens/UnicodeEscape.js"),
            C = n("./app/js/parsers/Tokens/UnescapedDelimiter.js"),
            P = n("./app/js/parsers/Tokens/ControlSequence.js"),
            T = n("./app/js/parsers/Tokens/PlainText.js"),
            R = n("./app/js/parsers/Tokens/ReferenceToken.js");

        function N(e) {
            return (N = "function" === typeof Symbol && "symbol" === typeof Symbol.iterator ? function(e) {
                return typeof e
            } : function(e) {
                return e && "function" === typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e
            })(e)
        }

        function M(e, t) {
            for (var n = 0; n < t.length; n++) {
                var r = t[n];
                r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(e, r.key, r)
            }
        }

        function A(e, t) {
            return !t || "object" !== N(t) && "function" !== typeof t ? function(e) {
                if (void 0 === e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
                return e
            }(e) : t
        }

        function I(e) {
            return (I = Object.setPrototypeOf ? Object.getPrototypeOf : function(e) {
                return e.__proto__ || Object.getPrototypeOf(e)
            })(e)
        }

        function L(e, t) {
            return (L = Object.setPrototypeOf || function(e, t) {
                return e.__proto__ = t, e
            })(e, t)
        }
        var D = function(e) {
                function t(e) {
                    var n, r = arguments.length > 1 && void 0 !== arguments[1] && arguments[1];
                    return function(e, t) {
                        if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function")
                    }(this, t), (n = A(this, I(t).call(this, e, g.I))).style = O.a.backreference, n._allowZeroRef = r, n
                }
                var n, r, o;
                return function(e, t) {
                    if ("function" !== typeof t && null !== t) throw new TypeError("Super expression must either be null or a function");
                    e.prototype = Object.create(t && t.prototype, {
                        constructor: {
                            value: e,
                            writable: !0,
                            configurable: !0
                        }
                    }), t && L(e, t)
                }(t, R["a"]), n = t, (r = [{
                    key: "_revalidate",
                    value: function(e) {
                        if (!this.error) {
                            var t = this._string.replace(/\D/g, ""),
                                n = parseInt(t, 10);
                            return this._allowZeroRef && 0 === n ? (this._reference = 0, !1) : (n > e.captureGroupCount && (this._type = g.J, this._length = 1, this._quantifiable = !0, this._charCode = parseInt(t, 8) || 0, this.style = O.a.meta), this._reference = n, !1)
                        }
                    }
                }]) && M(n.prototype, r), o && M(n, o), t
            }(),
            q = n("./app/js/parsers/Tokens/Javascript/HexEscape.js"),
            F = n("./app/js/constants/RegexErrors.js"),
            z = n("./app/js/parsers/Tokens/CharacterRange.js");

        function G(e) {
            return (G = "function" === typeof Symbol && "symbol" === typeof Symbol.iterator ? function(e) {
                return typeof e
            } : function(e) {
                return e && "function" === typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e
            })(e)
        }

        function B(e, t) {
            for (var n = 0; n < t.length; n++) {
                var r = t[n];
                r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(e, r.key, r)
            }
        }

        function U(e, t) {
            return !t || "object" !== G(t) && "function" !== typeof t ? function(e) {
                if (void 0 === e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
                return e
            }(e) : t
        }

        function H(e) {
            return (H = Object.setPrototypeOf ? Object.getPrototypeOf : function(e) {
                return e.__proto__ || Object.getPrototypeOf(e)
            })(e)
        }

        function W(e, t) {
            return (W = Object.setPrototypeOf || function(e, t) {
                return e.__proto__ = t, e
            })(e, t)
        }
        var V = function(e) {
                function t() {
                    return function(e, t) {
                        if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function")
                    }(this, t), U(this, H(t).apply(this, arguments))
                }
                var n, r, o;
                return function(e, t) {
                    if ("function" !== typeof t && null !== t) throw new TypeError("Super expression must either be null or a function");
                    e.prototype = Object.create(t && t.prototype, {
                        constructor: {
                            value: e,
                            writable: !0,
                            configurable: !0
                        }
                    }), t && W(e, t)
                }(t, z["a"]), n = t, (r = [{
                    key: "_revalidate",
                    value: function(e, t) {
                        return -1 !== this.flags.indexOf("u") && this._type === g.h && t && e.type !== g.K && t.type !== g.i && (e.type !== g.h && null == e.charCode || t.type !== g.h && null == t.charCode) ? (this.error = F.o, z.a.prototype._revalidate.apply(this, arguments)) : !t || null == t.charCode && t.type !== g.h || null == e.charCode ? void this._convertToPlainText() : z.a.prototype._revalidate.apply(this, arguments)
                    }
                }]) && B(n.prototype, r), o && B(n, o), t
            }(),
            K = n("./app/js/parsers/Tokens/EscapedLiteral.js");

        function $(e) {
            return ($ = "function" === typeof Symbol && "symbol" === typeof Symbol.iterator ? function(e) {
                return typeof e
            } : function(e) {
                return e && "function" === typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e
            })(e)
        }

        function Y(e, t) {
            for (var n = 0; n < t.length; n++) {
                var r = t[n];
                r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(e, r.key, r)
            }
        }

        function J(e, t) {
            return !t || "object" !== $(t) && "function" !== typeof t ? function(e) {
                if (void 0 === e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
                return e
            }(e) : t
        }

        function Q(e) {
            return (Q = Object.setPrototypeOf ? Object.getPrototypeOf : function(e) {
                return e.__proto__ || Object.getPrototypeOf(e)
            })(e)
        }

        function X(e, t) {
            return (X = Object.setPrototypeOf || function(e, t) {
                return e.__proto__ = t, e
            })(e, t)
        }
        var Z = function(e) {
            function t() {
                return function(e, t) {
                    if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function")
                }(this, t), J(this, Q(t).apply(this, arguments))
            }
            var n, r, o;
            return function(e, t) {
                if ("function" !== typeof t && null !== t) throw new TypeError("Super expression must either be null or a function");
                e.prototype = Object.create(t && t.prototype, {
                    constructor: {
                        value: e,
                        writable: !0,
                        configurable: !0
                    }
                }), t && X(e, t)
            }(t, K["a"]), n = t, (r = [{
                key: "parseComplete",
                value: function() {
                    K.a.prototype.parseComplete.call(this), -1 === this.flags.indexOf("u") || /^\\[$()*+.\/?[\\\]^{|}]$/i.test(this._string) || (this.error = F.s)
                }
            }]) && Y(n.prototype, r), o && Y(n, o), t
        }();

        function ee(e) {
            return (ee = "function" === typeof Symbol && "symbol" === typeof Symbol.iterator ? function(e) {
                return typeof e
            } : function(e) {
                return e && "function" === typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e
            })(e)
        }

        function te(e, t) {
            return !t || "object" !== ee(t) && "function" !== typeof t ? function(e) {
                if (void 0 === e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
                return e
            }(e) : t
        }

        function ne(e) {
            return (ne = Object.setPrototypeOf ? Object.getPrototypeOf : function(e) {
                return e.__proto__ || Object.getPrototypeOf(e)
            })(e)
        }

        function re(e, t) {
            return (re = Object.setPrototypeOf || function(e, t) {
                return e.__proto__ = t, e
            })(e, t)
        }
        var oe = function(e) {
                function t(e) {
                    var n;
                    return function(e, t) {
                        if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function")
                    }(this, t), (n = te(this, ne(t).call(this, e, g.M))).error = F.w, n
                }
                return function(e, t) {
                    if ("function" !== typeof t && null !== t) throw new TypeError("Super expression must either be null or a function");
                    e.prototype = Object.create(t && t.prototype, {
                        constructor: {
                            value: e,
                            writable: !0,
                            configurable: !0
                        }
                    }), t && re(e, t)
                }(t, v["a"]), t
            }(),
            ae = n("./app/js/parsers/Tokens/Javascript/BinaryZero.js"),
            ie = n("./app/js/parsers/Tokens/UnicodeProperty.js");

        function se(e) {
            return (se = "function" === typeof Symbol && "symbol" === typeof Symbol.iterator ? function(e) {
                return typeof e
            } : function(e) {
                return e && "function" === typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e
            })(e)
        }

        function ce(e, t) {
            return function(e) {
                if (Array.isArray(e)) return e
            }(e) || function(e, t) {
                var n = [],
                    r = !0,
                    o = !1,
                    a = void 0;
                try {
                    for (var i, s = e[Symbol.iterator](); !(r = (i = s.next()).done) && (n.push(i.value), !t || n.length !== t); r = !0);
                } catch (c) {
                    o = !0, a = c
                } finally {
                    try {
                        r || null == s.return || s.return()
                    } finally {
                        if (o) throw a
                    }
                }
                return n
            }(e, t) || function() {
                throw new TypeError("Invalid attempt to destructure non-iterable instance")
            }()
        }

        function ue(e, t) {
            for (var n = 0; n < t.length; n++) {
                var r = t[n];
                r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(e, r.key, r)
            }
        }

        function le(e, t) {
            return !t || "object" !== se(t) && "function" !== typeof t ? function(e) {
                if (void 0 === e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
                return e
            }(e) : t
        }

        function pe(e) {
            return (pe = Object.setPrototypeOf ? Object.getPrototypeOf : function(e) {
                return e.__proto__ || Object.getPrototypeOf(e)
            })(e)
        }

        function fe(e, t) {
            return (fe = Object.setPrototypeOf || function(e, t) {
                return e.__proto__ = t, e
            })(e, t)
        }
        var ye = ["Lu", "Uppercase_Letter", "Ll", "Lowercase_Letter", "Lt", "Titlecase_Letter", "LC", "Cased_Letter", "Lm", "Modifier_Letter", "Lo", "Other_Letter", "L", "Letter", "Mn", "Nonspacing_Mark", "Mc", "Spacing_Mark", "Me", "Enclosing_Mark", "M", "Mark", "Nd", "Decimal_Number", "Nl", "Letter_Number", "No", "Other_Number", "N", "Number", "Pc", "Connector_Punctuation", "Pd", "Dash_Punctuation", "Ps", "Open_Punctuation", "Pe", "Close_Punctuation", "Pi", "Initial_Punctuation", "Pf", "Final_Punctuation", "Po", "Other_Punctuation", "P", "Punctuation", "Sm", "Math_Symbol", "Sc", "Currency_Symbol", "Sk", "Modifier_Symbol", "So", "Other_Symbol", "S", "Symbol", "Zs", "Space_Separator", "Zl", "Line_Separator", "Zp", "Paragraph_Separator", "Z", "Separator", "Cc", "Control", "Cf", "Format", "Cs", "Surrogate", "Co", "Private_Use", "Cn", "Unassigned", "C", "Other"],
            be = ["Adlm", "Adlam", "Aghb", "Caucasian_Albanian", "Ahom", "Ahom", "Arab", "Arabic", "Armi", "Imperial_Aramaic", "Armn", "Armenian", "Avst", "Avestan", "Bali", "Balinese", "Bamu", "Bamum", "Bass", "Bassa_Vah", "Batk", "Batak", "Beng", "Bengali", "Bhks", "Bhaiksuki", "Bopo", "Bopomofo", "Brah", "Brahmi", "Brai", "Braille", "Bugi", "Buginese", "Buhd", "Buhid", "Cakm", "Chakma", "Cans", "Canadian_Aboriginal", "Cari", "Carian", "Cham", "Cham", "Cher", "Cherokee", "Chrs", "Chorasmian", "Copt", "Coptic", "Qaac", "Qaai", "Cprt", "Cypriot", "Cyrl", "Cyrillic", "Deva", "Devanagari", "Diak", "Dives_Akuru", "Dogr", "Dogra", "Dsrt", "Deseret", "Dupl", "Duployan", "Egyp", "Egyptian_Hieroglyphs", "Elba", "Elbasan", "Elym", "Elymaic", "Ethi", "Ethiopic", "Geor", "Georgian", "Glag", "Glagolitic", "Gong", "Gunjala_Gondi", "Gonm", "Masaram_Gondi", "Goth", "Gothic", "Gran", "Grantha", "Grek", "Greek", "Gujr", "Gujarati", "Guru", "Gurmukhi", "Hang", "Hangul", "Hani", "Han", "Hano", "Hanunoo", "Hatr", "Hatran", "Hebr", "Hebrew", "Hira", "Hiragana", "Hluw", "Anatolian_Hieroglyphs", "Hmng", "Pahawh_Hmong", "Hmnp", "Nyiakeng_Puachue_Hmong", "Hrkt", "Katakana_Or_Hiragana", "Hung", "Old_Hungarian", "Ital", "Old_Italic", "Java", "Javanese", "Kali", "Kayah_Li", "Kana", "Katakana", "Khar", "Kharoshthi", "Khmr", "Khmer", "Khoj", "Khojki", "Kits", "Khitan_Small_Script", "Knda", "Kannada", "Kthi", "Kaithi", "Lana", "Tai_Tham", "Laoo", "Lao", "Latn", "Latin", "Lepc", "Lepcha", "Limb", "Limbu", "Lina", "Linear_A", "Linb", "Linear_B", "Lisu", "Lisu", "Lyci", "Lycian", "Lydi", "Lydian", "Mahj", "Mahajani", "Maka", "Makasar", "Mand", "Mandaic", "Mani", "Manichaean", "Marc", "Marchen", "Medf", "Medefaidrin", "Mend", "Mende_Kikakui", "Merc", "Meroitic_Cursive", "Mero", "Meroitic_Hieroglyphs", "Mlym", "Malayalam", "Modi", "Modi", "Mong", "Mongolian", "Mroo", "Mro", "Mtei", "Meetei_Mayek", "Mult", "Multani", "Mymr", "Myanmar", "Nand", "Nandinagari", "Narb", "Old_North_Arabian", "Nbat", "Nabataean", "Newa", "Newa", "Nkoo", "Nko", "Nshu", "Nushu", "Ogam", "Ogham", "Olck", "Ol_Chiki", "Orkh", "Old_Turkic", "Orya", "Oriya", "Osge", "Osage", "Osma", "Osmanya", "Palm", "Palmyrene", "Pauc", "Pau_Cin_Hau", "Perm", "Old_Permic", "Phag", "Phags_Pa", "Phli", "Inscriptional_Pahlavi", "Phlp", "Psalter_Pahlavi", "Phnx", "Phoenician", "Plrd", "Miao", "Prti", "Inscriptional_Parthian", "Rjng", "Rejang", "Rohg", "Hanifi_Rohingya", "Runr", "Runic", "Samr", "Samaritan", "Sarb", "Old_South_Arabian", "Saur", "Saurashtra", "Sgnw", "SignWriting", "Shaw", "Shavian", "Shrd", "Sharada", "Sidd", "Siddham", "Sind", "Khudawadi", "Sinh", "Sinhala", "Sogd", "Sogdian", "Sogo", "Old_Sogdian", "Sora", "Sora_Sompeng", "Soyo", "Soyombo", "Sund", "Sundanese", "Sylo", "Syloti_Nagri", "Syrc", "Syriac", "Tagb", "Tagbanwa", "Takr", "Takri", "Tale", "Tai_Le", "Talu", "New_Tai_Lue", "Taml", "Tamil", "Tang", "Tangut", "Tavt", "Tai_Viet", "Telu", "Telugu", "Tfng", "Tifinagh", "Tglg", "Tagalog", "Thaa", "Thaana", "Thai", "Thai", "Tibt", "Tibetan", "Tirh", "Tirhuta", "Ugar", "Ugaritic", "Vaii", "Vai", "Wara", "Warang_Citi", "Wcho", "Wancho", "Xpeo", "Old_Persian", "Xsux", "Cuneiform", "Yezi", "Yezidi", "Yiii", "Yi", "Zanb", "Zanabazar_Square", "Zinh", "Inherited", "Zyyy", "Common", "Zzzz", "Unknown"],
            he = function(e) {
                function t() {
                    return function(e, t) {
                        if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function")
                    }(this, t), le(this, pe(t).apply(this, arguments))
                }
                var n, r, o;
                return function(e, t) {
                    if ("function" !== typeof t && null !== t) throw new TypeError("Super expression must either be null or a function");
                    e.prototype = Object.create(t && t.prototype, {
                        constructor: {
                            value: e,
                            writable: !0,
                            configurable: !0
                        }
                    }), t && fe(e, t)
                }(t, ie["a"]), n = t, (r = [{
                    key: "parseComplete",
                    value: function() {
                        ie.a.prototype.parseComplete.call(this);
                        var e = ce(this._script.split("="), 2),
                            t = e[0],
                            n = e[1];
                        switch (null == n && (n = t, t = "General_Category"), this._category = t, this._script = n, t) {
                            case "General_Category":
                                -1 === ye.indexOf(n) && (this.error = F.Q);
                                break;
                            case "Script_Extensions":
                            case "Script":
                                -1 === be.indexOf(n) && (this.error = F.Q);
                                break;
                            default:
                                this.error = F.Q
                        }
                    }
                }]) && ue(n.prototype, r), o && ue(n, o), t
            }(),
            de = n("./app/js/parsers/RegexParser/RegexParser.js"),
            me = n("./app/js/parsers/RegexParser/Tokenizers/Tokenizer.js");

        function ge(e) {
            return (ge = "function" === typeof Symbol && "symbol" === typeof Symbol.iterator ? function(e) {
                return typeof e
            } : function(e) {
                return e && "function" === typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e
            })(e)
        }

        function ve(e, t) {
            for (var n = 0; n < t.length; n++) {
                var r = t[n];
                r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(e, r.key, r)
            }
        }

        function _e(e, t) {
            return !t || "object" !== ge(t) && "function" !== typeof t ? function(e) {
                if (void 0 === e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
                return e
            }(e) : t
        }

        function Oe(e) {
            return (Oe = Object.setPrototypeOf ? Object.getPrototypeOf : function(e) {
                return e.__proto__ || Object.getPrototypeOf(e)
            })(e)
        }

        function je(e, t) {
            return (je = Object.setPrototypeOf || function(e, t) {
                return e.__proto__ = t, e
            })(e, t)
        }
        var we = function(e) {
            function t() {
                return function(e, t) {
                    if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function")
                }(this, t), _e(this, Oe(t).apply(this, arguments))
            }
            var n, g, v;
            return function(e, t) {
                if ("function" !== typeof t && null !== t) throw new TypeError("Super expression must either be null or a function");
                e.prototype = Object.create(t && t.prototype, {
                    constructor: {
                        value: e,
                        writable: !0,
                        configurable: !0
                    }
                }), t && je(e, t)
            }(t, me["a"]), n = t, v = [{
                key: "getTokenizers",
                value: function() {
                    return [t._parseOpenCharClass, t._parseCloseCharClass, t._parseCharacterRange, t._parseNumericBackreferenceOrOctal, t._parseNamedBackref, t._parseGroup, t._parseCloseGroup, t._parseAlternator, t._parseQuantifier, t._parseHex, t._parseUnicodeEscape, t._parseUnicodeProperty, t._parseControlSequence, t._parseNonBackslashMeta, t._parseMetaSequence, t._parseEscapedLiteral, t._parseTrailingBackslash, t._parseUnescapedDelimiter, t._parseLoneBrackets, t._parsePlainText]
                }
            }, {
                key: "_parseOpenCharClass",
                value: function(e, t, n) {
                    if (!n.inCharClass && "[" === t && e.match(/^\[\^?/)) return e.eat("]") ? new S(n) : new r.a(n)
                }
            }, {
                key: "_parseCloseCharClass",
                value: function(e, t, n) {
                    if (n.inCharClass && e.eat("]")) return new o.a(n)
                }
            }, {
                key: "_parseCharacterRange",
                value: function(e, t, n) {
                    if (n.inCharClass && e.eat("-")) return new V(n)
                }
            }, {
                key: "_parseNumericBackreferenceOrOctal",
                value: function(e, t, n) {
                    if (-1 !== n.flags.indexOf("u") && "\\" === t) return !n.inCharClass && e.match(/^\\[1-9]\d*/) ? new a.a(n) : e.match(/^\\0/) ? new ae.a(n, !!e.match(/^\d+/)) : void 0;
                    var r;
                    if ("\\" === t && (r = e.match(/^\\(\d{1,3})/))) {
                        var o = parseInt(r[1], 10);
                        if (!n.inCharClass && o > 0) return new D(n);
                        var s = r[1].match(/^(?:[0-3][0-7]{1,2}|[0-7]{1,2})/),
                            c = 0;
                        return s ? ((c = r[1].length - s[0].length) > 0 && e.backUp(c), new i.a(n)) : (r[0].length > 2 && e.backUp(r[0].length - 2), new Z(n))
                    }
                }
            }, {
                key: "_parseNamedBackref",
                value: function(e, t, n) {
                    if (Object(de.f)() && "\\" === t && e.match(/^\\k(?:<\w+>)?/)) return new b.a(n)
                }
            }, {
                key: "_parseGroup",
                value: function(e, t, n) {
                    if (!n.inCharClass && "(" === t) {
                        var r = new RegExp("^\\((?:\\?(?:".concat(Object(de.f)() ? "<\\w+>|" : "", "[=!:]").concat(Object(de.e)() ? "|<[=!]" : "", "))?")),
                            o = e.match(r);
                        if (null != o) {
                            var a = o[0].replace(/\w+/g, "");
                            if ("(" === o[0]) return new s.a(n);
                            if ("(?:" === o[0]) return new f.a(n);
                            if ("(?=" === a) return new u.a(n);
                            if ("(?!" === a) return new c.a(n);
                            if ("(?<>" === a) return new y.a(n);
                            if (Object(de.e)() && "(?<=" === a) return new p.a(n);
                            if (Object(de.e)() && "(?<!" === a) return new l.a(n);
                            throw new Error("Unknown group structure '".concat(a, "'"))
                        }
                    }
                }
            }, {
                key: "_parseHex",
                value: function(e, t, n) {
                    if ("\\" === t) {
                        var r = -1 === n.flags.indexOf("u") ? /^\\x[0-9A-Fa-f]{2}/ : /^\\x(?:[0-9A-Fa-f]{2})?/;
                        if (e.match(r)) return new q.a(n)
                    }
                }
            }, {
                key: "_parseUnicodeEscape",
                value: function(e, t, n) {
                    if ("\\" === t) {
                        var r = -1 === n.flags.indexOf("u") ? /^\\u[0-9A-Fa-f]{4}/ : /^\\u{[^}]*}?/;
                        if (e.match(r)) return new x.a(n)
                    }
                }
            }, {
                key: "_parseUnicodeProperty",
                value: function(e, t, n) {
                    if (Object(de.g)() && "\\" === t && -1 !== n.flags.indexOf("u") && e.match(/^\\[pP](?:{[\w=]+}?)?/)) return new he(n)
                }
            }, {
                key: "_parseControlSequence",
                value: function(e, t, n) {
                    if ("\\" === t) {
                        if (e.match(/^\\c[a-zA-Z]/) || -1 !== n.flags.indexOf("u") && e.match(/^\\c/)) return new P.a(n);
                        if (e.match(/^\\(?=c)/)) return new T.a(n)
                    }
                }
            }, {
                key: "_parseMetaSequence",
                value: function(e, t, n) {
                    var r;
                    if ("\\" === t && (r = e.match(/^\\[WwDdSsvfntrBb]/))) return "\\v" === r[0] ? new m.a(n) : n.inCharClass ? "\\b" === r[0] ? new d.a(n) : /^\\[trnfaedDsSwW]/.test(r[0]) ? new h.a(n) : new Z(n) : new h.a(n)
                }
            }, {
                key: "_parseEscapedLiteral",
                value: function(e, t, n) {
                    if ("\\" === t && e.match(/^\\[\s\S]/)) return new Z(n)
                }
            }, {
                key: "_parseUnescapedDelimiter",
                value: function(e, t, n) {
                    if (!n.inCharClass && e.eat(n.delimiter)) return new C.a(n)
                }
            }, {
                key: "_parseLoneBrackets",
                value: function(e, t, n) {
                    if (-1 !== n.flags.indexOf("u") && -1 !== "]{}".indexOf(t)) return e.next(), new oe(n)
                }
            }], (g = null) && ve(n.prototype, g), v && ve(n, v), t
        }();
        t.a = we
    },
    "./app/js/parsers/RegexParser/Tokenizers/PCRETokenizer.js": function(e, t, n) {
        "use strict";
        var r = n("./app/js/constants/RegexTypes.js"),
            o = n("./app/js/parsers/Tokens/OpenQuote.js"),
            a = n("./app/js/parsers/Tokens/EndQuote.js"),
            i = n("./app/js/parsers/Tokens/PlainText.js"),
            s = n("./app/js/parsers/Tokens/OpenCharClass.js"),
            c = n("./app/js/parsers/Tokens/CloseCharClass.js"),
            u = n("./app/js/parsers/Tokens/PosixClass.js"),
            l = n("./app/js/constants/RegexErrors.js"),
            p = n("./app/js/parsers/Tokens/ReferenceToken.js"),
            f = n("./app/js/parsers/Tokens/tokenStyles.css"),
            y = n.n(f);

        function b(e) {
            return (b = "function" === typeof Symbol && "symbol" === typeof Symbol.iterator ? function(e) {
                return typeof e
            } : function(e) {
                return e && "function" === typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e
            })(e)
        }

        function h(e, t) {
            for (var n = 0; n < t.length; n++) {
                var r = t[n];
                r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(e, r.key, r)
            }
        }

        function d(e, t) {
            return !t || "object" !== b(t) && "function" !== typeof t ? function(e) {
                if (void 0 === e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
                return e
            }(e) : t
        }

        function m(e) {
            return (m = Object.setPrototypeOf ? Object.getPrototypeOf : function(e) {
                return e.__proto__ || Object.getPrototypeOf(e)
            })(e)
        }

        function g(e, t) {
            return (g = Object.setPrototypeOf || function(e, t) {
                return e.__proto__ = t, e
            })(e, t)
        }
        var v = function(e) {
                function t(e) {
                    var n;
                    return function(e, t) {
                        if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function")
                    }(this, t), (n = d(this, m(t).call(this, e, r.U))).style = y.a.subpattern_reference, n
                }
                var n, o, a;
                return function(e, t) {
                    if ("function" !== typeof t && null !== t) throw new TypeError("Super expression must either be null or a function");
                    e.prototype = Object.create(t && t.prototype, {
                        constructor: {
                            value: e,
                            writable: !0,
                            configurable: !0
                        }
                    }), t && g(e, t)
                }(t, p["a"]), n = t, (o = [{
                    key: "_revalidate",
                    value: function(e) {
                        if ("(?0)" !== this._string && "(?R)" !== this._string) {
                            var t, n = this._string.replace(/^(?:\\g|\(\?P>)|[^\w\-+]/g, "");
                            if (n)
                                if ("+" === n.charAt(0)) {
                                    var r = parseInt(n.slice(1), 10);
                                    t = this._state.captureGroupCount + r, this._state.captureGroupCount + r > e.captureGroupCount && (this.error = l.u)
                                } else if ("-" === n.charAt(0)) {
                                var o = parseInt(n.slice(1), 10);
                                t = this._state.captureGroupCount - o + 1, this._state.captureGroupCount - o < 0 && (this.error = l.u)
                            } else isNaN(n) || "&" === this._string.charAt(2) ? -1 === e.subpatterns.indexOf(n) && (this.error = l.u) : (t = parseInt(n, 10), e.captureGroupCount < t && (this.error = l.u));
                            else this.error = l.n;
                            return this._reference = t || n, !!this.error
                        }
                        this._reference = null
                    }
                }]) && h(n.prototype, o), a && h(n, a), t
            }(),
            _ = n("./app/js/parsers/Tokens/NamedBackreference.js"),
            O = n("./app/js/parsers/Tokens/NumericBackreference.js"),
            j = n("./app/js/parsers/Tokens/OctalEscape.js"),
            w = n("./app/js/parsers/Tokens/InlineModifiers.js"),
            k = n("./app/js/parsers/Tokens/Token.js");

        function E(e) {
            return (E = "function" === typeof Symbol && "symbol" === typeof Symbol.iterator ? function(e) {
                return typeof e
            } : function(e) {
                return e && "function" === typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e
            })(e)
        }

        function S(e, t) {
            for (var n = 0; n < t.length; n++) {
                var r = t[n];
                r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(e, r.key, r)
            }
        }

        function x(e, t) {
            return !t || "object" !== E(t) && "function" !== typeof t ? function(e) {
                if (void 0 === e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
                return e
            }(e) : t
        }

        function C(e) {
            return (C = Object.setPrototypeOf ? Object.getPrototypeOf : function(e) {
                return e.__proto__ || Object.getPrototypeOf(e)
            })(e)
        }

        function P(e, t) {
            return (P = Object.setPrototypeOf || function(e, t) {
                return e.__proto__ = t, e
            })(e, t)
        }
        var T = /^(?:LIMIT_MATCH=\d{1,6}|LIMIT_RECURSION=\d{1,6}|NO_AUTO_POSSESS|UTF16|UCP|NO_START_OPT|CR|LF|CRLF|ANYCRLF|ANY|BSR_(?:ANYCRLF|UNICODE)|ACCEPT|F(?:AIL)?|COMMIT|PRUNE(?::\w+)?|SKIP(?::\w+)?|MARK:\w+|THEN(?::\w+)?|:\w+)$/,
            R = /(?:LIMIT_MATCH=\d{1,6}|LIMIT_RECURSION=\d{1,6}|NO_AUTO_POSSESS|NO_START_OPT|CR|LF|CRLF|ANYCRLF|ANY|BSR_ANYCRLF|BSR_UNICODE|UTF(?:8|16|32)|UCP)/,
            N = function(e) {
                function t(e) {
                    var n;
                    return function(e, t) {
                        if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function")
                    }(this, t), (n = x(this, C(t).call(this, e, r.Y)))._verb = null, n.style = y.a.verb, n
                }
                var n, o, a;
                return function(e, t) {
                    if ("function" !== typeof t && null !== t) throw new TypeError("Super expression must either be null or a function");
                    e.prototype = Object.create(t && t.prototype, {
                        constructor: {
                            value: e,
                            writable: !0,
                            configurable: !0
                        }
                    }), t && P(e, t)
                }(t, k["a"]), n = t, (o = [{
                    key: "parseComplete",
                    value: function() {
                        this._verb = this._string.slice(2, -1), T.test(this._verb) ? !R.test(this._verb) || 0 === this._position.start || this._state.actualPreviousToken && this._state.actualPreviousToken.type === r.Y && !this._state.actualPreviousToken.error && R.test(this._state.actualPreviousToken.string) || (this.error = l.U) : this.error = l.R
                    }
                }, {
                    key: "_getNextState",
                    value: function(e) {
                        return "CR" === this._verb ? e.lineTerminators = ["\\r"] : "LF" === this._verb ? e.lineTerminators = ["\\n"] : "CRLF" === this._verb ? e.lineTerminators = ["\\r\\n"] : "ANYCRLF" === this._verb ? e.lineTerminators = ["\\n", "\\r", "\\r\\n"] : "ANY" === this._verb && (e.lineTerminators = ["\\n", "\\r", "\\r\\n", "\\f", "\\v", "\\x85", "\\u2028", "\\u2029"]), e
                    }
                }, {
                    key: "verb",
                    get: function() {
                        return this._verb
                    }
                }]) && S(n.prototype, o), a && S(n, a), t
            }(),
            M = n("./app/js/parsers/Tokens/CapturingGroup.js"),
            A = n("./app/js/parsers/Tokens/GroupToken.js");

        function I(e) {
            return (I = "function" === typeof Symbol && "symbol" === typeof Symbol.iterator ? function(e) {
                return typeof e
            } : function(e) {
                return e && "function" === typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e
            })(e)
        }

        function L(e, t) {
            return !t || "object" !== I(t) && "function" !== typeof t ? function(e) {
                if (void 0 === e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
                return e
            }(e) : t
        }

        function D(e) {
            return (D = Object.setPrototypeOf ? Object.getPrototypeOf : function(e) {
                return e.__proto__ || Object.getPrototypeOf(e)
            })(e)
        }

        function q(e, t) {
            return (q = Object.setPrototypeOf || function(e, t) {
                return e.__proto__ = t, e
            })(e, t)
        }
        var F = function(e) {
            function t(e) {
                return function(e, t) {
                    if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function")
                }(this, t), L(this, D(t).call(this, e, r.b, !0))
            }
            return function(e, t) {
                if ("function" !== typeof t && null !== t) throw new TypeError("Super expression must either be null or a function");
                e.prototype = Object.create(t && t.prototype, {
                    constructor: {
                        value: e,
                        writable: !0,
                        configurable: !0
                    }
                }), t && q(e, t)
            }(t, A["a"]), t
        }();

        function z(e) {
            return (z = "function" === typeof Symbol && "symbol" === typeof Symbol.iterator ? function(e) {
                return typeof e
            } : function(e) {
                return e && "function" === typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e
            })(e)
        }

        function G(e, t) {
            for (var n = 0; n < t.length; n++) {
                var r = t[n];
                r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(e, r.key, r)
            }
        }

        function B(e, t) {
            return !t || "object" !== z(t) && "function" !== typeof t ? function(e) {
                if (void 0 === e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
                return e
            }(e) : t
        }

        function U(e) {
            return (U = Object.setPrototypeOf ? Object.getPrototypeOf : function(e) {
                return e.__proto__ || Object.getPrototypeOf(e)
            })(e)
        }

        function H(e, t) {
            return (H = Object.setPrototypeOf || function(e, t) {
                return e.__proto__ = t, e
            })(e, t)
        }
        var W = function(e) {
                function t(e, n) {
                    return function(e, t) {
                        if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function")
                    }(this, t), B(this, U(t).call(this, e, r.m))
                }
                var n, o, a;
                return function(e, t) {
                    if ("function" !== typeof t && null !== t) throw new TypeError("Super expression must either be null or a function");
                    e.prototype = Object.create(t && t.prototype, {
                        constructor: {
                            value: e,
                            writable: !0,
                            configurable: !0
                        }
                    }), t && H(e, t)
                }(t, A["a"]), n = t, (o = [{
                    key: "_getNextState",
                    value: function(e) {
                        return e.inDEFINE = !0, A.a.prototype._getNextState.call(this, e)
                    }
                }]) && G(n.prototype, o), a && G(n, a), t
            }(),
            V = n("./app/js/parsers/Tokens/ModifierGroup.js"),
            K = n("./app/js/parsers/Tokens/NamedCapturingGroup.js"),
            $ = n("./app/js/parsers/Tokens/NegativeLookahead.js"),
            Y = n("./app/js/parsers/Tokens/NegativeLookbehind.js"),
            J = n("./app/js/parsers/Tokens/NonCapturingGroup.js"),
            Q = n("./app/js/parsers/Tokens/PositiveLookahead.js"),
            X = n("./app/js/parsers/Tokens/PositiveLookbehind.js"),
            Z = n("./app/js/parsers/Tokens/DuplicateSubpatternGroup.js"),
            ee = n("./app/js/parsers/Tokens/MetaEscape.js"),
            te = n("./app/js/parsers/Tokens/Backspace.js"),
            ne = n("./app/js/parsers/Tokens/HexEscape.js");

        function re(e) {
            return (re = "function" === typeof Symbol && "symbol" === typeof Symbol.iterator ? function(e) {
                return typeof e
            } : function(e) {
                return e && "function" === typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e
            })(e)
        }

        function oe(e, t) {
            for (var n = 0; n < t.length; n++) {
                var r = t[n];
                r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(e, r.key, r)
            }
        }

        function ae(e, t) {
            return !t || "object" !== re(t) && "function" !== typeof t ? function(e) {
                if (void 0 === e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
                return e
            }(e) : t
        }

        function ie(e) {
            return (ie = Object.setPrototypeOf ? Object.getPrototypeOf : function(e) {
                return e.__proto__ || Object.getPrototypeOf(e)
            })(e)
        }

        function se(e, t) {
            return (se = Object.setPrototypeOf || function(e, t) {
                return e.__proto__ = t, e
            })(e, t)
        }
        var ce = function(e) {
            function t() {
                return function(e, t) {
                    if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function")
                }(this, t), ae(this, ie(t).apply(this, arguments))
            }
            var n, r, o;
            return function(e, t) {
                if ("function" !== typeof t && null !== t) throw new TypeError("Super expression must either be null or a function");
                e.prototype = Object.create(t && t.prototype, {
                    constructor: {
                        value: e,
                        writable: !0,
                        configurable: !0
                    }
                }), t && se(e, t)
            }(t, ne["a"]), n = t, (r = [{
                key: "parseComplete",
                value: function() {
                    ne.a.prototype.parseComplete.call(this), this._hex.length > 4 && -1 === this._state.flags.indexOf("u") ? this.error = l.j : -1 !== this._state.flags.indexOf("u") && parseInt(this._hex, 16) >= parseInt("0xd800", 16) && parseInt(this._hex, 16) <= parseInt("0xdfff", 16) ? this.error = l.i : "\\x{}" === this._string && (this.error = l.m)
                }
            }]) && oe(n.prototype, r), o && oe(n, o), t
        }();

        function ue(e) {
            return (ue = "function" === typeof Symbol && "symbol" === typeof Symbol.iterator ? function(e) {
                return typeof e
            } : function(e) {
                return e && "function" === typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e
            })(e)
        }

        function le(e, t) {
            for (var n = 0; n < t.length; n++) {
                var r = t[n];
                r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(e, r.key, r)
            }
        }

        function pe(e, t) {
            return !t || "object" !== ue(t) && "function" !== typeof t ? function(e) {
                if (void 0 === e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
                return e
            }(e) : t
        }

        function fe(e) {
            return (fe = Object.setPrototypeOf ? Object.getPrototypeOf : function(e) {
                return e.__proto__ || Object.getPrototypeOf(e)
            })(e)
        }

        function ye(e, t) {
            return (ye = Object.setPrototypeOf || function(e, t) {
                return e.__proto__ = t, e
            })(e, t)
        }
        var be = function(e) {
                function t() {
                    return function(e, t) {
                        if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function")
                    }(this, t), pe(this, fe(t).apply(this, arguments))
                }
                var n, r, o;
                return function(e, t) {
                    if ("function" !== typeof t && null !== t) throw new TypeError("Super expression must either be null or a function");
                    e.prototype = Object.create(t && t.prototype, {
                        constructor: {
                            value: e,
                            writable: !0,
                            configurable: !0
                        }
                    }), t && ye(e, t)
                }(t, j["a"]), n = t, (r = [{
                    key: "parseComplete",
                    value: function() {
                        j.a.prototype.parseComplete.call(this), "}" !== this._string.slice(-1) ? this.error = l.n : (-1 === this.flags.indexOf("u") && this._charCode > 65535 || -1 !== this.flags.indexOf("u") && this._charCode > parseInt("0x10FFFF", 16)) && (this.error = l.A)
                    }
                }]) && le(n.prototype, r), o && le(n, o), t
            }(),
            he = n("./app/js/parsers/Tokens/UnsupportedToken.js");

        function de(e) {
            return (de = "function" === typeof Symbol && "symbol" === typeof Symbol.iterator ? function(e) {
                return typeof e
            } : function(e) {
                return e && "function" === typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e
            })(e)
        }

        function me(e, t) {
            for (var n = 0; n < t.length; n++) {
                var r = t[n];
                r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(e, r.key, r)
            }
        }

        function ge(e, t) {
            return !t || "object" !== de(t) && "function" !== typeof t ? function(e) {
                if (void 0 === e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
                return e
            }(e) : t
        }

        function ve(e) {
            return (ve = Object.setPrototypeOf ? Object.getPrototypeOf : function(e) {
                return e.__proto__ || Object.getPrototypeOf(e)
            })(e)
        }

        function _e(e, t) {
            return (_e = Object.setPrototypeOf || function(e, t) {
                return e.__proto__ = t, e
            })(e, t)
        }
        var Oe = function(e) {
                function t(e) {
                    var n;
                    return function(e, t) {
                        if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function")
                    }(this, t), (n = ge(this, ve(t).call(this, e, r.A))).style = y.a.meta, n._state.previousToken && (n._charCode = n._state.previousToken.charCode), n
                }
                var n, o, a;
                return function(e, t) {
                    if ("function" !== typeof t && null !== t) throw new TypeError("Super expression must either be null or a function");
                    e.prototype = Object.create(t && t.prototype, {
                        constructor: {
                            value: e,
                            writable: !0,
                            configurable: !0
                        }
                    }), t && _e(e, t)
                }(t, k["a"]), n = t, (o = [{
                    key: "_getNextState",
                    value: function(e) {
                        return e.previousToken = this._state.previousToken, e
                    }
                }]) && me(n.prototype, o), a && me(n, a), t
            }(),
            je = n("./app/js/parsers/Tokens/UnicodeProperty.js");

        function we(e) {
            return (we = "function" === typeof Symbol && "symbol" === typeof Symbol.iterator ? function(e) {
                return typeof e
            } : function(e) {
                return e && "function" === typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e
            })(e)
        }

        function ke(e, t) {
            for (var n = 0; n < t.length; n++) {
                var r = t[n];
                r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(e, r.key, r)
            }
        }

        function Ee(e, t) {
            return !t || "object" !== we(t) && "function" !== typeof t ? function(e) {
                if (void 0 === e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
                return e
            }(e) : t
        }

        function Se(e) {
            return (Se = Object.setPrototypeOf ? Object.getPrototypeOf : function(e) {
                return e.__proto__ || Object.getPrototypeOf(e)
            })(e)
        }

        function xe(e, t) {
            return (xe = Object.setPrototypeOf || function(e, t) {
                return e.__proto__ = t, e
            })(e, t)
        }
        var Ce = ["Arabic", "Armenian", "Avestan", "Balinese", "Bamum", "Bassa_Vah", "Batak", "Bengali", "Bopomofo", "Brahmi", "Braille", "Buginese", "Buhid", "Canadian_Aboriginal", "Car-ian", "Caucasian_Albanian", "Chakma", "Cham", "Cherokee", "Common", "Coptic", "Cunei-form", "Cypriot", "Cyrillic", "Deseret", "Devanagari", "Duployan", "Egyptian_Hiero-glyphs", "Elbasan", "Ethiopic", "Georgian", "Glagolitic", "Gothic", "Grantha", "Greek", "Gujarati", "Gurmukhi", "Han", "Hangul", "Hanunoo", "Hebrew", "Hiragana", "Imperial_Aramaic", "Inherited", "Inscriptional_Pahlavi", "Inscrip-tional_Parthian", "Javanese", "Kaithi", "Kannada", "Katakana", "Kayah_Li", "Kharoshthi", "Khmer", "Khojki", "Khudawadi", "Lao", "Latin", "Lepcha", "Limbu", "Lin-ear_A", "Linear_B", "Lisu", "Lycian", "Lydian", "Mahajani", "Malayalam", "Mandaic", "Manichaean", "Meetei_Mayek", "Mende_Kikakui", "Meroitic_Cursive", "Meroitic_Hieroglyphs", "Miao", "Modi", "Mongolian", "Mro", "Myanmar", "Nabataean", "New_Tai_Lue", "Nko", "Ogham", "Ol_Chiki", "Old_Italic", "Old_North_Arabian", "Old_Permic", "Old_Persian", "Old_South_Arabian", "Old_Turkic", "Oriya", "Osmanya", "Pahawh_Hmong", "Palmyrene", "Pau_Cin_Hau", "Phags_Pa", "Phoenician", "Psalter_Pahlavi", "Rejang", "Runic", "Samaritan", "Saurashtra", "Sharada", "Sha-vian", "Siddham", "Sinhala", "Sora_Sompeng", "Sundanese", "Syloti_Nagri", "Syriac", "Tagalog", "Tagbanwa", "Tai_Le", "Tai_Tham", "Tai_Viet", "Takri", "Tamil", "Telugu", "Thaana", "Thai", "Tibetan", "Tifinagh", "Tirhuta", "Ugaritic", "Vai", "Warang_Citi", "Yi", "C", "Cc", "Cf", "Cn", "Co", "Cs", "L", "Ll", "Lm", "Lo", "Lt", "Lu", "L&", "M", "Mc", "Me", "Mn", "N", "Nd", "Nl", "No", "P", "Pc", "Pd", "Pe", "Pf", "Pi", "Po", "Ps", "S", "Sc", "Sk", "Sm", "So", "Z", "Zl", "Zp", "Zs"],
            Pe = function(e) {
                function t() {
                    return function(e, t) {
                        if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function")
                    }(this, t), Ee(this, Se(t).apply(this, arguments))
                }
                var n, r, o;
                return function(e, t) {
                    if ("function" !== typeof t && null !== t) throw new TypeError("Super expression must either be null or a function");
                    e.prototype = Object.create(t && t.prototype, {
                        constructor: {
                            value: e,
                            writable: !0,
                            configurable: !0
                        }
                    }), t && xe(e, t)
                }(t, je["a"]), n = t, (r = [{
                    key: "parseComplete",
                    value: function() {
                        je.a.prototype.parseComplete.call(this), -1 === Ce.indexOf(this._script) ? this.error = l.Q : "{" === this._string.charAt(2) && "}" !== this._string.slice(-1) && (this.error = l.n)
                    }
                }]) && ke(n.prototype, r), o && ke(n, o), t
            }(),
            Te = n("./app/js/parsers/Tokens/CharacterRange.js");

        function Re(e) {
            return (Re = "function" === typeof Symbol && "symbol" === typeof Symbol.iterator ? function(e) {
                return typeof e
            } : function(e) {
                return e && "function" === typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e
            })(e)
        }

        function Ne(e, t) {
            for (var n = 0; n < t.length; n++) {
                var r = t[n];
                r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(e, r.key, r)
            }
        }

        function Me(e, t) {
            return !t || "object" !== Re(t) && "function" !== typeof t ? function(e) {
                if (void 0 === e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
                return e
            }(e) : t
        }

        function Ae(e) {
            return (Ae = Object.setPrototypeOf ? Object.getPrototypeOf : function(e) {
                return e.__proto__ || Object.getPrototypeOf(e)
            })(e)
        }

        function Ie(e, t) {
            return (Ie = Object.setPrototypeOf || function(e, t) {
                return e.__proto__ = t, e
            })(e, t)
        }
        var Le = function(e) {
                function t() {
                    return function(e, t) {
                        if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function")
                    }(this, t), Me(this, Ae(t).apply(this, arguments))
                }
                var n, o, a;
                return function(e, t) {
                    if ("function" !== typeof t && null !== t) throw new TypeError("Super expression must either be null or a function");
                    e.prototype = Object.create(t && t.prototype, {
                        constructor: {
                            value: e,
                            writable: !0,
                            configurable: !0
                        }
                    }), t && Ie(e, t)
                }(t, Te["a"]), n = t, (o = [{
                    key: "_revalidate",
                    value: function(e, t) {
                        return t && /^\\[a-z]/i.test(t.string) && t.type === r.r ? (this.error = l.p, !0) : null == e.charCode ? (this._convertToPlainText(), !1) : Te.a.prototype._revalidate.apply(this, arguments)
                    }
                }]) && Ne(n.prototype, o), a && Ne(n, a), t
            }(),
            De = n("./app/js/parsers/Tokens/EscapedLiteral.js");

        function qe(e) {
            return (qe = "function" === typeof Symbol && "symbol" === typeof Symbol.iterator ? function(e) {
                return typeof e
            } : function(e) {
                return e && "function" === typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e
            })(e)
        }

        function Fe(e, t) {
            for (var n = 0; n < t.length; n++) {
                var r = t[n];
                r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(e, r.key, r)
            }
        }

        function ze(e, t) {
            return !t || "object" !== qe(t) && "function" !== typeof t ? function(e) {
                if (void 0 === e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
                return e
            }(e) : t
        }

        function Ge(e) {
            return (Ge = Object.setPrototypeOf ? Object.getPrototypeOf : function(e) {
                return e.__proto__ || Object.getPrototypeOf(e)
            })(e)
        }

        function Be(e, t) {
            return (Be = Object.setPrototypeOf || function(e, t) {
                return e.__proto__ = t, e
            })(e, t)
        }
        var Ue = function(e) {
                function t() {
                    return function(e, t) {
                        if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function")
                    }(this, t), ze(this, Ge(t).apply(this, arguments))
                }
                var n, r, o;
                return function(e, t) {
                    if ("function" !== typeof t && null !== t) throw new TypeError("Super expression must either be null or a function");
                    e.prototype = Object.create(t && t.prototype, {
                        constructor: {
                            value: e,
                            writable: !0,
                            configurable: !0
                        }
                    }), t && Be(e, t)
                }(t, De["a"]), n = t, (r = [{
                    key: "parseComplete",
                    value: function() {
                        De.a.prototype.parseComplete.call(this), -1 !== this._state.flags.indexOf("X") && /^\\[a-z]/i.test(this._string) && (this.error = l.s)
                    }
                }]) && Fe(n.prototype, r), o && Fe(n, o), t
            }(),
            He = n("./app/js/parsers/Tokens/Quantifier.js");

        function We(e) {
            return (We = "function" === typeof Symbol && "symbol" === typeof Symbol.iterator ? function(e) {
                return typeof e
            } : function(e) {
                return e && "function" === typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e
            })(e)
        }

        function Ve(e, t) {
            for (var n = 0; n < t.length; n++) {
                var r = t[n];
                r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(e, r.key, r)
            }
        }

        function Ke(e, t) {
            return !t || "object" !== We(t) && "function" !== typeof t ? function(e) {
                if (void 0 === e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
                return e
            }(e) : t
        }

        function $e(e) {
            return ($e = Object.setPrototypeOf ? Object.getPrototypeOf : function(e) {
                return e.__proto__ || Object.getPrototypeOf(e)
            })(e)
        }

        function Ye(e, t) {
            return (Ye = Object.setPrototypeOf || function(e, t) {
                return e.__proto__ = t, e
            })(e, t)
        }
        var Je = function(e) {
            function t() {
                return function(e, t) {
                    if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function")
                }(this, t), Ke(this, $e(t).apply(this, arguments))
            }
            var n, r, o;
            return function(e, t) {
                if ("function" !== typeof t && null !== t) throw new TypeError("Super expression must either be null or a function");
                e.prototype = Object.create(t && t.prototype, {
                    constructor: {
                        value: e,
                        writable: !0,
                        configurable: !0
                    }
                }), t && Ye(e, t)
            }(t, He["a"]), n = t, (r = [{
                key: "parseComplete",
                value: function() {
                    He.a.prototype.parseComplete.call(this), (this._from > 65535 || this._to !== 1 / 0 && this._to > 65535) && (this.error = l.H)
                }
            }, {
                key: "_validateQuantifier",
                value: function(e) {
                    "+" === e ? this._possessive = !0 : He.a.prototype._validateQuantifier.apply(this, arguments)
                }
            }]) && Ve(n.prototype, r), o && Ve(n, o), t
        }();

        function Qe(e) {
            return (Qe = "function" === typeof Symbol && "symbol" === typeof Symbol.iterator ? function(e) {
                return typeof e
            } : function(e) {
                return e && "function" === typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e
            })(e)
        }

        function Xe(e, t) {
            for (var n = 0; n < t.length; n++) {
                var r = t[n];
                r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(e, r.key, r)
            }
        }

        function Ze(e, t) {
            return !t || "object" !== Qe(t) && "function" !== typeof t ? function(e) {
                if (void 0 === e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
                return e
            }(e) : t
        }

        function et(e) {
            return (et = Object.setPrototypeOf ? Object.getPrototypeOf : function(e) {
                return e.__proto__ || Object.getPrototypeOf(e)
            })(e)
        }

        function tt(e, t) {
            return (tt = Object.setPrototypeOf || function(e, t) {
                return e.__proto__ = t, e
            })(e, t)
        }
        var nt = function(e) {
            function t(e, n) {
                var o;
                return function(e, t) {
                    if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function")
                }(this, t), (o = Ze(this, et(t).call(this, e, r.j, !0)))._condition = null, o._expectCondition = !1, o._lookaround = !1, o._backreference = !1, o._subroutine = !1, o._reference = null, o._expectCondition = n, o
            }
            var n, o, a;
            return function(e, t) {
                if ("function" !== typeof t && null !== t) throw new TypeError("Super expression must either be null or a function");
                e.prototype = Object.create(t && t.prototype, {
                    constructor: {
                        value: e,
                        writable: !0,
                        configurable: !0
                    }
                }), t && tt(e, t)
            }(t, A["a"]), n = t, (o = [{
                key: "parseComplete",
                value: function() {
                    this._expectCondition || (this._condition = this._string.slice(3, -1))
                }
            }, {
                key: "_getNextState",
                value: function(e) {
                    return e.conditionals.push(this), this._expectCondition && (e.expectingCondition = !0), A.a.prototype._getNextState.call(this, e)
                }
            }, {
                key: "_revalidate",
                value: function(e) {
                    return this._condition && this._closeGroup ? "string" === typeof this._condition && (/^R?\d+$/.test(this._condition) ? (this._reference = parseInt(this._condition.replace(/\D/g, ""), 10), this._reference > e.captureGroupCount && (this.error = l.u), "R" === this._condition.charAt(0) ? this._subroutine = !0 : (this._backreference = !0, 0 === this._reference && (this.error = l.u))) : "R" === this._condition && -1 === e.subpatterns.indexOf("R") ? (this._reference = null, this._subroutine = !0) : /^(?:<\w+>|'\w+'|\w+)$/.test(this._condition) ? (this._backreference = !0, this._reference = this._condition.replace(/\W/g, ""), -1 === e.subpatterns.indexOf(this._reference) && (this.error = l.u)) : /^R&/.test(this._condition) ? (this._reference = this._condition.slice(2), this._subroutine = !0, -1 === e.subpatterns.indexOf(this._reference) && (this.error = l.u)) : -1 !== this._condition.indexOf("+") ? (this._reference = this._state.captureGroupCount + parseInt(this._condition.slice(1), 10), this._backreference = !0, this._reference > e.captureGroupCount && (this.error = l.u)) : -1 !== this._condition.indexOf("-") && (this._reference = this._state.captureGroupCount - parseInt(this._condition.slice(1), 10) + 1, this._backreference = !0, this._reference < 1 && (this.error = l.u)), !!this.error) : (this.error = l.l, !!this.error)
                }
            }, {
                key: "lookaround",
                get: function() {
                    return this._lookaround
                }
            }, {
                key: "backreference",
                get: function() {
                    return this._backreference
                }
            }, {
                key: "subroutine",
                get: function() {
                    return this._subroutine
                }
            }, {
                key: "reference",
                get: function() {
                    return this._reference
                }
            }, {
                key: "condition",
                get: function() {
                    return this._condition
                },
                set: function(e) {
                    this._lookaround = !0, this._condition = e
                }
            }]) && Xe(n.prototype, o), a && Xe(n, a), t
        }();

        function rt(e) {
            return (rt = "function" === typeof Symbol && "symbol" === typeof Symbol.iterator ? function(e) {
                return typeof e
            } : function(e) {
                return e && "function" === typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e
            })(e)
        }

        function ot(e, t) {
            return !t || "object" !== rt(t) && "function" !== typeof t ? function(e) {
                if (void 0 === e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
                return e
            }(e) : t
        }

        function at(e) {
            return (at = Object.setPrototypeOf ? Object.getPrototypeOf : function(e) {
                return e.__proto__ || Object.getPrototypeOf(e)
            })(e)
        }

        function it(e, t) {
            return (it = Object.setPrototypeOf || function(e, t) {
                return e.__proto__ = t, e
            })(e, t)
        }
        var st = function(e) {
                function t(e) {
                    var n;
                    return function(e, t) {
                        if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function")
                    }(this, t), (n = ot(this, at(t).call(this, e, r.Q))).style = [y.a.charclass, y.a.meta], n._quantifiable = !1, n._length = 1, n
                }
                return function(e, t) {
                    if ("function" !== typeof t && null !== t) throw new TypeError("Super expression must either be null or a function");
                    e.prototype = Object.create(t && t.prototype, {
                        constructor: {
                            value: e,
                            writable: !0,
                            configurable: !0
                        }
                    }), t && it(e, t)
                }(t, k["a"]), t
            }(),
            ct = n("./app/js/parsers/RegexParser/Tokenizers/Tokenizer.js");

        function ut(e) {
            return (ut = "function" === typeof Symbol && "symbol" === typeof Symbol.iterator ? function(e) {
                return typeof e
            } : function(e) {
                return e && "function" === typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e
            })(e)
        }

        function lt(e, t) {
            for (var n = 0; n < t.length; n++) {
                var r = t[n];
                r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(e, r.key, r)
            }
        }

        function pt(e, t) {
            return !t || "object" !== ut(t) && "function" !== typeof t ? function(e) {
                if (void 0 === e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
                return e
            }(e) : t
        }

        function ft(e) {
            return (ft = Object.setPrototypeOf ? Object.getPrototypeOf : function(e) {
                return e.__proto__ || Object.getPrototypeOf(e)
            })(e)
        }

        function yt(e, t) {
            return (yt = Object.setPrototypeOf || function(e, t) {
                return e.__proto__ = t, e
            })(e, t)
        }
        var bt = function(e) {
            function t() {
                return function(e, t) {
                    if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function")
                }(this, t), pt(this, ft(t).apply(this, arguments))
            }
            var n, l, p;
            return function(e, t) {
                if ("function" !== typeof t && null !== t) throw new TypeError("Super expression must either be null or a function");
                e.prototype = Object.create(t && t.prototype, {
                    constructor: {
                        value: e,
                        writable: !0,
                        configurable: !0
                    }
                }), t && yt(e, t)
            }(t, ct["a"]), n = t, p = [{
                key: "getTokenizers",
                value: function() {
                    return [t._parseEndQuote, t._parseLonelyEndQuote, t._parseQuotedLiteral, t._parseOpenQuote, t._parseCollateElements, t._parsePosixWordBoundary, t._parsePosixClass, t._parseOpenCharClass, t._parseCloseCharClass, t._parseCharacterRange, t._parseSubpatternReference, t._parseNamedBackreference, t._parseNumericBackreferenceOrOctal, t._parseInlineModifiers, t._parseVerb, t._parseGroupComment, t._parseGroup, t._parseCloseGroup, t._parseAlternator, t._parseQuantifier, t._parseUnicodeProperty, t._parseBackreferenceG, t._parseBackreferenceK, t._parseSubpatternReferenceG, t._parseHex, t._parseLongOctal, t._parseControlSequence, t._parseNonBackslashMeta, t._parseMetaSequence, t._parseEscapedLiteral, t._parseComment, t._parseTrailingBackslash, t._parseUnescapedDelimiter, t._parsePlainText]
                }
            }, {
                key: "_parseEndQuote",
                value: function(e, t, n) {
                    if ("\\" === t && n.inQuote && e.matchString("\\E")) return new a.a(n)
                }
            }, {
                key: "_parseLonelyEndQuote",
                value: function(e, t, n) {
                    if ("\\" === t && e.matchString("\\E")) return new Oe(n)
                }
            }, {
                key: "_parseQuotedLiteral",
                value: function(e, t, n) {
                    if (n.inQuote) return e.next(), new i.a(n)
                }
            }, {
                key: "_parseOpenQuote",
                value: function(e, t, n) {
                    if ("\\" === t && e.matchString("\\Q")) return new o.a(n)
                }
            }, {
                key: "_parsePosixWordBoundary",
                value: function(e, t, n) {
                    if ("[" === t && !n.inCharClass && e.match(/^\[\[:[<>]:]]/)) return new st(n)
                }
            }, {
                key: "_parsePosixClass",
                value: function(e, t, n) {
                    if ("[" === t && e.match(/^\[:(?:\\.|[^\\\]])*?\\?:]/)) return new u.a(n)
                }
            }, {
                key: "_parseCollateElements",
                value: function(e, t, n) {
                    if ("[" === t && e.match(/^\[([.=])(?:\\.|[^\]\\])*?\\?\1]/)) return new he.a(n)
                }
            }, {
                key: "_parseOpenCharClass",
                value: function(e, t, n) {
                    if (!n.inCharClass && "[" === t && e.match(/^\[\^?/)) return new s.a(n)
                }
            }, {
                key: "_parseCloseCharClass",
                value: function(e, t, n) {
                    if (n.inCharClass && e.eat("]")) return n.previousToken.type === r.K ? new i.a(n) : new c.a(n)
                }
            }, {
                key: "_parseCharacterRange",
                value: function(e, t, n) {
                    if (n.inCharClass && e.eat("-")) return new Le(n)
                }
            }, {
                key: "_parseSubpatternReference",
                value: function(e, t, n) {
                    if (!n.inCharClass && "(" === t && e.match(/^\(\?(?:[0R]|[+-]?[1-9]+\d*|P>\w+|&\w+)\)/)) return new v(n)
                }
            }, {
                key: "_parseNamedBackreference",
                value: function(e, t, n) {
                    if (!n.inCharClass && "(" === t && e.match(/^\(\?P=(\w+)\)/)) return new _.a(n)
                }
            }, {
                key: "_parseNumericBackreferenceOrOctal",
                value: function(e, t, n) {
                    var r;
                    if ("\\" === t && (r = e.match(/^\\(\d{1,3})/))) {
                        var o = parseInt(r[1], 10);
                        if (!n.inCharClass && o > 0 && "0" !== r[1].charAt(0) && (o < 10 && 1 === r[1].length || o <= n.captureGroupCount)) return new O.a(n);
                        var a = r[1].match(/^[0-7]{1,3}/),
                            i = 0;
                        return a ? ((i = r[1].length - a[0].length) > 0 && e.backUp(i), new j.a(n)) : (r[0].length > 2 && e.backUp(r[0].length - 2), new Ue(n))
                    }
                }
            }, {
                key: "_parseInlineModifiers",
                value: function(e, t, n) {
                    if (!n.inCharClass && "(" === t && e.match(/^\(\?[mixXsUJ-]*\)/)) return new w.a(n)
                }
            }, {
                key: "_parseVerb",
                value: function(e, t, n) {
                    if (!n.inCharClass && "(" === t && e.match(/^\(\*[\w:]+(?:=\d+)?\)/)) return new N(n)
                }
            }, {
                key: "_parseGroup",
                value: function(e, t, n) {
                    var r;
                    if (!n.inCharClass && "(" === t && (r = e.match(/^\((?:\?(?:[mixXsUJ-]*:|[>!=|]|<[=!]|'\w+'|P?<\w+>)?)?/))) {
                        var o = r[0].replace(/\w+/g, "");
                        if ("(" === r[0]) return new M.a(n);
                        if ("(?:" === r[0]) return new J.a(n);
                        if ("(?>" === r[0]) return new F(n);
                        if ("(?|" === r[0]) return new Z.a(n);
                        if ("(?<>" === o || "(?''" === o) return new K.a(n);
                        if (/^\(\?[mixXsUJ-]+:/.test(r[0])) return new V.a(n);
                        if ("(?=" === o) return new Q.a(n);
                        if ("(?!" === o) return new $.a(n);
                        if ("(?<=" === o) return new X.a(n);
                        if ("(?<!" === o) return new Y.a(n);
                        if ("(?" === o) {
                            var a = e.match(/^\((?:R(?:&\w+)?|R?\d+|[+-]?\d+|\w+|'\w+'|<\w+>)\)/);
                            if (a && "(DEFINE)" === a[0] && -1 === n.subpatterns.indexOf("DEFINE")) return new W(n);
                            var i = !a && !!e.match(/^\(\?<?[=!]/, !1);
                            return new nt(n, i)
                        }
                        throw new Error("Unknown group structure '".concat(o, "'"))
                    }
                }
            }, {
                key: "_parseQuantifier",
                value: function(e, t, n) {
                    if (!n.inCharClass && -1 !== "+*?{".indexOf(t) && e.match(/^(?:[*+?]|{\d+,?\d*})/)) return new Je(n)
                }
            }, {
                key: "_parseUnicodeProperty",
                value: function(e, t, n) {
                    if ("\\" === t && e.match(/^\\[pP]([CLMNPSZ]|{\^?(?:L&|\w+)}?)?/)) return new Pe(n)
                }
            }, {
                key: "_parseBackreferenceG",
                value: function(e, t, n) {
                    if (!n.inCharClass && "\\" === t && e.match(/^\\g(?:\d+|{-?\d+})/)) return new O.a(n)
                }
            }, {
                key: "_parseBackreferenceK",
                value: function(e, t, n) {
                    if (!n.inCharClass && "\\" === t && e.match(/^(?:\\g{\w+}|\\k(?:'\w+'|<\w+>|{\w+})?)/)) return new _.a(n)
                }
            }, {
                key: "_parseSubpatternReferenceG",
                value: function(e, t, n) {
                    if (!n.inCharClass && "\\" === t && e.match(/^\\g(?:<\w+>|'\w+'|'[+-]\d+'|<[+-]\d+>)?/)) return new v(n)
                }
            }, {
                key: "_parseHex",
                value: function(e, t, n) {
                    if ("\\" === t && e.match(/^\\x(?:{[0-9A-Fa-f]*}?|[0-9A-Fa-f]{0,2})/)) return new ce(n)
                }
            }, {
                key: "_parseLongOctal",
                value: function(e, t, n) {
                    if ("\\" === t && e.match(/^\\o(?:{([0-7]+)}?)?/)) return new be(n)
                }
            }, {
                key: "_parseMetaSequence",
                value: function(e, n, r) {
                    var o;
                    if ("\\" === n && (o = e.match(t.metaRegex))) return /^\\[lu]/i.test(o[0]) ? new he.a(r) : "\\N" === o[0].slice(0, 2) && (o[0].length > 2 || r.inCharClass) ? new he.a(r) : r.inCharClass ? "\\b" === o[0] ? new te.a(r) : /^\\[trnfaedDhHpPsSvVwWN]/.test(o[0]) ? new ee.a(r) : new Ue(r) : new ee.a(r)
                }
            }, {
                key: "_parseEscapedLiteral",
                value: function(e, t, n) {
                    if ("\\" === t && e.match(/^\\[\s\S]/)) return new Ue(n)
                }
            }], (l = null) && lt(n.prototype, l), p && lt(n, p), t
        }();
        bt.metaRegex = /^\\(?:[WwDdSsVvHhaefntrXBbRKCGAZzQEckgPpuLlUo]|N(?:{\w*}?)?)/;
        t.a = bt
    },
    "./app/js/parsers/RegexParser/Tokenizers/Tokenizer.js": function(e, t, n) {
        "use strict";
        var r = n("./node_modules/lodash/lodash.js"),
            o = n.n(r),
            a = n("./app/js/constants/RegexErrors.js"),
            i = n("./app/js/constants/RegexTypes.js"),
            s = n("./app/js/parsers/Tokens/Token.js");

        function c(e) {
            return (c = "function" === typeof Symbol && "symbol" === typeof Symbol.iterator ? function(e) {
                return typeof e
            } : function(e) {
                return e && "function" === typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e
            })(e)
        }

        function u(e, t) {
            for (var n = 0; n < t.length; n++) {
                var r = t[n];
                r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(e, r.key, r)
            }
        }

        function l(e) {
            return (l = Object.setPrototypeOf ? Object.getPrototypeOf : function(e) {
                return e.__proto__ || Object.getPrototypeOf(e)
            })(e)
        }

        function p(e, t) {
            return (p = Object.setPrototypeOf || function(e, t) {
                return e.__proto__ = t, e
            })(e, t)
        }

        function f(e) {
            if (void 0 === e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
            return e
        }
        var y = function(e) {
                function t(e) {
                    var n;
                    ! function(e, t) {
                        if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function")
                    }(this, t);
                    var r, s, u = o.a.last(e.groups),
                        p = u ? u.type : null;
                    return e.parents.pop(), r = this, (n = !(s = l(t).call(this, e, p)) || "object" !== c(s) && "function" !== typeof s ? f(r) : s)._openGroup = null, u ? u.error ? n.error = u.error : (n.style = u.style, n._openGroup = u, u.closeGroup = f(f(n)), u.addRelatedToken(f(f(n)))) : n.error = a.S, p === i.C && (n._state.flags = u.previousFlags), n
                }
                var n, r, y;
                return function(e, t) {
                    if ("function" !== typeof t && null !== t) throw new TypeError("Super expression must either be null or a function");
                    e.prototype = Object.create(t && t.prototype, {
                        constructor: {
                            value: e,
                            writable: !0,
                            configurable: !0
                        }
                    }), t && p(e, t)
                }(t, s["a"]), n = t, (r = [{
                    key: "_getNextState",
                    value: function(e) {
                        return e.parents.pop(), e.groups.pop(), this.error || (e.previousToken = this._openGroup), this.type === i.m ? e.inDEFINE = !1 : this.type === i.N || this.type === i.F ? e.lookbehindCount = this._openGroup._state.lookbehindCount : this.type === i.O || this.type === i.G ? e.lookbehindCount-- : this.type === i.f && (this._openGroup.baseline = e, e = Object.assign(e, this._openGroup.baseline, {
                            inDuplicateSubpatternGroup: !1,
                            captureGroupCount: this._openGroup.finalCaptureGroupCount
                        })), e
                    }
                }, {
                    key: "groupNumber",
                    get: function() {
                        return this._openGroup ? this._openGroup.groupNumber : this._openGroup ? this._openGroup.groupNumber : null
                    }
                }, {
                    key: "subpattern",
                    get: function() {
                        return this._openGroup ? this._openGroup.subpattern : null
                    }
                }, {
                    key: "flags",
                    get: function() {
                        return this._openGroup ? this._openGroup.flags : null
                    }
                }, {
                    key: "rawFlags",
                    get: function() {
                        return this._openGroup ? this._openGroup.rawFlags : null
                    }
                }, {
                    key: "tooltipMarkerRange",
                    get: function() {
                        return {
                            primary: {
                                start: {
                                    pos: (this._openGroup || this)._editorPosition.start.pos,
                                    line: (this._openGroup || this)._editorPosition.start.line
                                },
                                end: {
                                    pos: this._editorPosition.end.pos,
                                    line: this._editorPosition.end.line
                                }
                            }
                        }
                    }
                }, {
                    key: "quantifier",
                    set: function(e) {
                        this._openGroup ? this._openGroup.quantifier = e : this._quantifier = e
                    }
                }]) && u(n.prototype, r), y && u(n, y), t
            }(),
            b = n("./app/js/parsers/Tokens/tokenStyles.css"),
            h = n.n(b);

        function d(e) {
            return (d = "function" === typeof Symbol && "symbol" === typeof Symbol.iterator ? function(e) {
                return typeof e
            } : function(e) {
                return e && "function" === typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e
            })(e)
        }

        function m(e, t) {
            for (var n = 0; n < t.length; n++) {
                var r = t[n];
                r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(e, r.key, r)
            }
        }

        function g(e) {
            return (g = Object.setPrototypeOf ? Object.getPrototypeOf : function(e) {
                return e.__proto__ || Object.getPrototypeOf(e)
            })(e)
        }

        function v(e, t) {
            return (v = Object.setPrototypeOf || function(e, t) {
                return e.__proto__ = t, e
            })(e, t)
        }

        function _(e) {
            if (void 0 === e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
            return e
        }
        var O = function(e) {
            function t(e) {
                var n, r, o;
                return function(e, t) {
                    if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function")
                }(this, t), e.parents.pop(), r = this, (n = !(o = g(t).call(this, e, i.a)) || "object" !== d(o) && "function" !== typeof o ? _(r) : o)._alternativeNumber = null, n.style = h.a.alternator, n._parent && n._parent.addRelatedToken(_(_(n))), n
            }
            var n, r, o;
            return function(e, t) {
                if ("function" !== typeof t && null !== t) throw new TypeError("Super expression must either be null or a function");
                e.prototype = Object.create(t && t.prototype, {
                    constructor: {
                        value: e,
                        writable: !0,
                        configurable: !0
                    }
                }), t && v(e, t)
            }(t, s["a"]), n = t, (r = [{
                key: "alternative",
                get: function() {
                    return this._alternativeNumber
                }
            }]) && m(n.prototype, r), o && m(n, o), t
        }();

        function j(e) {
            return (j = "function" === typeof Symbol && "symbol" === typeof Symbol.iterator ? function(e) {
                return typeof e
            } : function(e) {
                return e && "function" === typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e
            })(e)
        }

        function w(e, t) {
            for (var n = 0; n < t.length; n++) {
                var r = t[n];
                r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(e, r.key, r)
            }
        }

        function k(e, t) {
            return !t || "object" !== j(t) && "function" !== typeof t ? function(e) {
                if (void 0 === e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
                return e
            }(e) : t
        }

        function E(e) {
            return (E = Object.setPrototypeOf ? Object.getPrototypeOf : function(e) {
                return e.__proto__ || Object.getPrototypeOf(e)
            })(e)
        }

        function S(e, t) {
            return (S = Object.setPrototypeOf || function(e, t) {
                return e.__proto__ = t, e
            })(e, t)
        }
        var x = function(e) {
            function t(e) {
                var n;
                return function(e, t) {
                    if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function")
                }(this, t), n = k(this, E(t).call(this, e)), null !== e.previousToken && e.previousToken.type !== i.a || (n.error = a.N), n._alternativeNumber = e.alternatives + 1, n
            }
            var n, r, o;
            return function(e, t) {
                if ("function" !== typeof t && null !== t) throw new TypeError("Super expression must either be null or a function");
                e.prototype = Object.create(t && t.prototype, {
                    constructor: {
                        value: e,
                        writable: !0,
                        configurable: !0
                    }
                }), t && S(e, t)
            }(t, O), n = t, (r = [{
                key: "_getNextState",
                value: function(e) {
                    return e.alternatives++, e.parents.push(this), e
                }
            }]) && w(n.prototype, r), o && w(n, o), t
        }();

        function C(e) {
            return (C = "function" === typeof Symbol && "symbol" === typeof Symbol.iterator ? function(e) {
                return typeof e
            } : function(e) {
                return e && "function" === typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e
            })(e)
        }

        function P(e, t) {
            for (var n = 0; n < t.length; n++) {
                var r = t[n];
                r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(e, r.key, r)
            }
        }

        function T(e, t) {
            return !t || "object" !== C(t) && "function" !== typeof t ? function(e) {
                if (void 0 === e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
                return e
            }(e) : t
        }

        function R(e) {
            return (R = Object.setPrototypeOf ? Object.getPrototypeOf : function(e) {
                return e.__proto__ || Object.getPrototypeOf(e)
            })(e)
        }

        function N(e, t) {
            return (N = Object.setPrototypeOf || function(e, t) {
                return e.__proto__ = t, e
            })(e, t)
        }
        var M = function(e) {
                function t(e) {
                    var n;
                    ! function(e, t) {
                        if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function")
                    }(this, t), n = T(this, R(t).call(this, e));
                    var r = o.a.last(e.groups);
                    return null !== e.previousToken && e.previousToken.type !== i.a || (n.error = a.M), r.addAlternative(), n._alternativeNumber = r.alternatives, (r.type === i.m || r.type === i.j && r.alternatives > 1) && (n.error = a.K), n.style = r.style, n
                }
                var n, r, s;
                return function(e, t) {
                    if ("function" !== typeof t && null !== t) throw new TypeError("Super expression must either be null or a function");
                    e.prototype = Object.create(t && t.prototype, {
                        constructor: {
                            value: e,
                            writable: !0,
                            configurable: !0
                        }
                    }), t && N(e, t)
                }(t, O), n = t, (r = [{
                    key: "_getNextState",
                    value: function(e) {
                        e.parents.push(this);
                        var t = o.a.last(this._state.groups);
                        return t && t.type === i.f && (t.baseline = e, e = Object.assign(e, t.baseline)), e
                    }
                }]) && P(n.prototype, r), s && P(n, s), t
            }(),
            A = n("./app/js/parsers/Tokens/Quantifier.js");

        function I(e) {
            return (I = "function" === typeof Symbol && "symbol" === typeof Symbol.iterator ? function(e) {
                return typeof e
            } : function(e) {
                return e && "function" === typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e
            })(e)
        }

        function L(e, t) {
            for (var n = 0; n < t.length; n++) {
                var r = t[n];
                r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(e, r.key, r)
            }
        }

        function D(e, t) {
            return !t || "object" !== I(t) && "function" !== typeof t ? function(e) {
                if (void 0 === e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
                return e
            }(e) : t
        }

        function q(e) {
            return (q = Object.setPrototypeOf ? Object.getPrototypeOf : function(e) {
                return e.__proto__ || Object.getPrototypeOf(e)
            })(e)
        }

        function F(e, t) {
            return (F = Object.setPrototypeOf || function(e, t) {
                return e.__proto__ = t, e
            })(e, t)
        }
        var z = function(e) {
                function t(e) {
                    var n;
                    return function(e, t) {
                        if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function")
                    }(this, t), (n = D(this, q(t).call(this, e, i.z))).style = h.a.comment, n
                }
                var n, r, o;
                return function(e, t) {
                    if ("function" !== typeof t && null !== t) throw new TypeError("Super expression must either be null or a function");
                    e.prototype = Object.create(t && t.prototype, {
                        constructor: {
                            value: e,
                            writable: !0,
                            configurable: !0
                        }
                    }), t && F(e, t)
                }(t, s["a"]), n = t, (r = [{
                    key: "_getNextState",
                    value: function(e) {
                        return e.previousToken = this._state.previousToken, e.actualPreviousToken = this._state.actualPreviousToken, e
                    }
                }, {
                    key: "comment",
                    get: function() {
                        return this._string.slice(1)
                    }
                }]) && L(n.prototype, r), o && L(n, o), t
            }(),
            G = n("./app/js/parsers/Tokens/TrailingBackslash.js"),
            B = n("./app/js/parsers/Tokens/UnescapedDelimiter.js"),
            U = n("./app/js/parsers/Tokens/PlainText.js");

        function H(e) {
            return (H = "function" === typeof Symbol && "symbol" === typeof Symbol.iterator ? function(e) {
                return typeof e
            } : function(e) {
                return e && "function" === typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e
            })(e)
        }

        function W(e, t) {
            for (var n = 0; n < t.length; n++) {
                var r = t[n];
                r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(e, r.key, r)
            }
        }

        function V(e, t) {
            return !t || "object" !== H(t) && "function" !== typeof t ? function(e) {
                if (void 0 === e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
                return e
            }(e) : t
        }

        function K(e) {
            return (K = Object.setPrototypeOf ? Object.getPrototypeOf : function(e) {
                return e.__proto__ || Object.getPrototypeOf(e)
            })(e)
        }

        function $(e, t) {
            return ($ = Object.setPrototypeOf || function(e, t) {
                return e.__proto__ = t, e
            })(e, t)
        }
        var Y = function(e) {
                function t(e) {
                    var n;
                    return function(e, t) {
                        if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function")
                    }(this, t), (n = V(this, K(t).call(this, e, i.t))).style = h.a.comment, n
                }
                var n, r, o;
                return function(e, t) {
                    if ("function" !== typeof t && null !== t) throw new TypeError("Super expression must either be null or a function");
                    e.prototype = Object.create(t && t.prototype, {
                        constructor: {
                            value: e,
                            writable: !0,
                            configurable: !0
                        }
                    }), t && $(e, t)
                }(t, s["a"]), n = t, (r = [{
                    key: "_getNextState",
                    value: function(e) {
                        return e.previousToken = this._state.previousToken, e
                    }
                }, {
                    key: "comment",
                    get: function() {
                        return this._string.slice(3, -1)
                    }
                }]) && W(n.prototype, r), o && W(n, o), t
            }(),
            J = n("./app/js/parsers/Tokens/MetaEscape.js"),
            Q = n("./app/js/parsers/Tokens/EscapedLiteral.js"),
            X = n("./app/js/parsers/Tokens/ControlSequence.js");

        function Z(e, t) {
            for (var n = 0; n < t.length; n++) {
                var r = t[n];
                r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(e, r.key, r)
            }
        }
        var ee = function() {
            function e() {
                ! function(e, t) {
                    if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function")
                }(this, e)
            }
            var t, n, r;
            return t = e, r = [{
                key: "_parseCloseGroup",
                value: function(e, t, n) {
                    if (!n.inCharClass && e.eat(")")) return new y(n)
                }
            }, {
                key: "_parseAlternator",
                value: function(e, t, n) {
                    if (!n.inCharClass && e.eat("|")) return n.groups.length > 0 ? new M(n) : new x(n)
                }
            }, {
                key: "_parseQuantifier",
                value: function(e, t, n) {
                    if (!n.inCharClass && -1 !== "+*?{".indexOf(t) && e.match(/^(?:[*+?]|{\d+,?\d*})/)) return new A.a(n)
                }
            }, {
                key: "_parseEscapedLiteral",
                value: function(e, t, n) {
                    if ("\\" === t && e.match(/^\\[\s\S]/)) return new Q.a(n)
                }
            }, {
                key: "_parseComment",
                value: function(e, t, n) {
                    if (!n.inCharClass && "#" === t && -1 !== n.flags.indexOf("x") && e.match(/^#.*/)) return new z(n)
                }
            }, {
                key: "_parseGroupComment",
                value: function(e, t, n) {
                    if (!n.inCharClass && "(" === t && e.match(/^\(\?#[^)]*\)/)) return new Y(n)
                }
            }, {
                key: "_parseTrailingBackslash",
                value: function(e, t, n) {
                    if ("\\" === t) return e.next(), new G.a(n)
                }
            }, {
                key: "_parseUnescapedDelimiter",
                value: function(e, t, n) {
                    if (e.matchString(n.delimiter)) return new B.a(n)
                }
            }, {
                key: "_parsePlainText",
                value: function(e, t, n) {
                    return e.next(), new U.a(n)
                }
            }, {
                key: "_parseNonBackslashMeta",
                value: function(e, t, n) {
                    if (!n.inCharClass && e.match(/^[$^.]/)) return new J.a(n)
                }
            }, {
                key: "_parseControlSequence",
                value: function(e, t, n) {
                    if ("\\" === t && e.match(/^\\c.?/)) return new X.a(n)
                }
            }], (n = null) && Z(t.prototype, n), r && Z(t, r), e
        }();
        t.a = ee
    },
    "./app/js/parsers/StringStream.js": function(e, t, n) {
        "use strict";

        function r(e, t) {
            return function(e) {
                if (Array.isArray(e)) return e
            }(e) || function(e, t) {
                var n = [],
                    r = !0,
                    o = !1,
                    a = void 0;
                try {
                    for (var i, s = e[Symbol.iterator](); !(r = (i = s.next()).done) && (n.push(i.value), !t || n.length !== t); r = !0);
                } catch (c) {
                    o = !0, a = c
                } finally {
                    try {
                        r || null == s.return || s.return()
                    } finally {
                        if (o) throw a
                    }
                }
                return n
            }(e, t) || function() {
                throw new TypeError("Invalid attempt to destructure non-iterable instance")
            }()
        }

        function o(e, t) {
            for (var n = 0; n < t.length; n++) {
                var r = t[n];
                r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(e, r.key, r)
            }
        }
        var a = function() {
            function e() {
                var t = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : "";
                ! function(e, t) {
                    if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function")
                }(this, e), this._position = 0, this._string = null, this._stringLength = 0, this._string = t, this._stringLength = this._string.length, this._position = 0
            }
            var t, n, a;
            return t = e, (n = [{
                key: "peek",
                value: function() {
                    return r(this._getWholeCharAndI(this._string, this._position), 1)[0] || null
                }
            }, {
                key: "next",
                value: function() {
                    if (this._position < this._stringLength) {
                        var e = r(this._getWholeCharAndI(this._string, this._position), 2),
                            t = e[0],
                            n = e[1];
                        return this._position = n + 1, t
                    }
                    return null
                }
            }, {
                key: "eat",
                value: function(e) {
                    var t = r(this._getWholeCharAndI(this._string, this._position), 2),
                        n = t[0],
                        o = t[1];
                    return n === e ? (this._position = o + 1, n) : null
                }
            }, {
                key: "eatWhile",
                value: function(e) {
                    for (var t = this._position; this.eat(e););
                    return this._position > t
                }
            }, {
                key: "skipToEnd",
                value: function() {
                    this._position = this._stringLength
                }
            }, {
                key: "skipTo",
                value: function(e) {
                    var t = this._string.indexOf(e, this._position);
                    return t > -1 && (this._position = t, !0)
                }
            }, {
                key: "backUp",
                value: function(e) {
                    this._position -= e
                }
            }, {
                key: "match",
                value: function(e) {
                    var t = !(arguments.length > 1 && void 0 !== arguments[1]) || arguments[1],
                        n = this._string.slice(this._position).match(e);
                    if (n && n.index > 0) throw new Error("Regex match did not happen at the beginning of string ".concat(e.toString()));
                    return n && t && (this._position += n[0].length), n
                }
            }, {
                key: "matchString",
                value: function() {
                    var e = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : "",
                        t = !(arguments.length > 1 && void 0 !== arguments[1]) || arguments[1];
                    return this._string.substr(this._position, e.length) === e && (t && (this._position += e.length), !0)
                }
            }, {
                key: "current",
                value: function() {
                    return this._string.slice(0, this._position)
                }
            }, {
                key: "_getWholeCharAndI",
                value: function(e, t) {
                    var n = e.charCodeAt(t);
                    if (isNaN(n)) return [null, t];
                    if (n < 55296 || n > 57343) return [e.charAt(t), t];
                    if (55296 <= n && n <= 56319) {
                        if (e.length <= t + 1) throw "High surrogate without following low surrogate";
                        var r = e.charCodeAt(t + 1);
                        if (56320 > r || r > 57343) throw "High surrogate without following low surrogate";
                        return [e.charAt(t) + e.charAt(t + 1), t + 1]
                    }
                    if (0 === t) throw "Low surrogate without preceding high surrogate";
                    var o = e.charCodeAt(t - 1);
                    if (55296 > o || o > 56319) throw "Low surrogate without preceding high surrogate";
                    return [e.charAt(t + 1), t + 1]
                }
            }, {
                key: "position",
                get: function() {
                    return this._position
                }
            }, {
                key: "eof",
                get: function() {
                    return this._position >= this._stringLength
                }
            }, {
                key: "sof",
                get: function() {
                    return 0 === this._position
                }
            }]) && o(t.prototype, n), a && o(t, a), e
        }();
        t.a = a
    },
    "./app/js/parsers/SubstitutionParser/SubstitutionParser.js": function(e, t, n) {
        "use strict";
        var r = n("./node_modules/lodash/lodash.js"),
            o = n.n(r),
            a = n("./node_modules/memoize-one/dist/memoize-one.esm.js"),
            i = n("./app/js/parsers/BaseParser.js"),
            s = n("./app/js/parsers/StringStream.js"),
            c = n("./app/js/constants/Flavors.js"),
            u = n.n(c),
            l = n("./app/js/parsers/Tokens/NumericBackreference.js"),
            p = n("./app/js/parsers/Tokens/NamedBackreference.js"),
            f = n("./app/js/parsers/Tokens/MetaEscape.js"),
            y = n("./app/js/parsers/Tokens/HexEscape.js"),
            b = n("./app/js/constants/RegexTypes.js"),
            h = n("./app/js/parsers/Tokens/Token.js"),
            d = n("./app/js/parsers/Tokens/tokenStyles.css"),
            m = n.n(d);

        function g(e) {
            return (g = "function" === typeof Symbol && "symbol" === typeof Symbol.iterator ? function(e) {
                return typeof e
            } : function(e) {
                return e && "function" === typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e
            })(e)
        }

        function v(e, t) {
            for (var n = 0; n < t.length; n++) {
                var r = t[n];
                r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(e, r.key, r)
            }
        }

        function _(e, t) {
            return !t || "object" !== g(t) && "function" !== typeof t ? function(e) {
                if (void 0 === e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
                return e
            }(e) : t
        }

        function O(e) {
            return (O = Object.setPrototypeOf ? Object.getPrototypeOf : function(e) {
                return e.__proto__ || Object.getPrototypeOf(e)
            })(e)
        }

        function j(e, t) {
            return (j = Object.setPrototypeOf || function(e, t) {
                return e.__proto__ = t, e
            })(e, t)
        }
        var w = function(e) {
            function t(e) {
                var n;
                return function(e, t) {
                    if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function")
                }(this, t), (n = _(this, O(t).call(this, e, b.S))).style = m.a.meta, n
            }
            var n, r, o;
            return function(e, t) {
                if ("function" !== typeof t && null !== t) throw new TypeError("Super expression must either be null or a function");
                e.prototype = Object.create(t && t.prototype, {
                    constructor: {
                        value: e,
                        writable: !0,
                        configurable: !0
                    }
                }), t && j(e, t)
            }(t, h["a"]), n = t, (r = [{
                key: "_getNextState",
                value: function(e) {
                    return "\\U" === this.string ? (e.uppercase = !0, e.lowercase = !1) : (e.uppercase = !1, e.lowercase = !0), e
                }
            }]) && v(n.prototype, r), o && v(n, o), t
        }();

        function k(e) {
            return (k = "function" === typeof Symbol && "symbol" === typeof Symbol.iterator ? function(e) {
                return typeof e
            } : function(e) {
                return e && "function" === typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e
            })(e)
        }

        function E(e, t) {
            for (var n = 0; n < t.length; n++) {
                var r = t[n];
                r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(e, r.key, r)
            }
        }

        function S(e, t) {
            return !t || "object" !== k(t) && "function" !== typeof t ? function(e) {
                if (void 0 === e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
                return e
            }(e) : t
        }

        function x(e) {
            return (x = Object.setPrototypeOf ? Object.getPrototypeOf : function(e) {
                return e.__proto__ || Object.getPrototypeOf(e)
            })(e)
        }

        function C(e, t) {
            return (C = Object.setPrototypeOf || function(e, t) {
                return e.__proto__ = t, e
            })(e, t)
        }
        var P = function(e) {
                function t(e) {
                    var n;
                    return function(e, t) {
                        if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function")
                    }(this, t), (n = S(this, x(t).call(this, e, b.p))).style = m.a.meta, n
                }
                var n, r, o;
                return function(e, t) {
                    if ("function" !== typeof t && null !== t) throw new TypeError("Super expression must either be null or a function");
                    e.prototype = Object.create(t && t.prototype, {
                        constructor: {
                            value: e,
                            writable: !0,
                            configurable: !0
                        }
                    }), t && C(e, t)
                }(t, h["a"]), n = t, (r = [{
                    key: "_getNextState",
                    value: function(e) {
                        return e.lowercase = !1, e.uppercase = !1, e
                    }
                }]) && E(n.prototype, r), o && E(n, o), t
            }(),
            T = n("./app/js/parsers/Tokens/EscapedLiteral.js"),
            R = n("./app/js/parsers/Tokens/TrailingBackslash.js"),
            N = n("./app/js/parsers/Tokens/PlainText.js"),
            M = n("./app/js/parsers/Tokens/VerticalTab.js");

        function A(e, t) {
            for (var n = 0; n < t.length; n++) {
                var r = t[n];
                r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(e, r.key, r)
            }
        }
        var I = function() {
                function e() {
                    ! function(e, t) {
                        if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function")
                    }(this, e)
                }
                var t, n, r;
                return t = e, r = [{
                    key: "getTokenizers",
                    value: function() {
                        return [e._parseBackrefs, e._parseNumericBackref, e._parseNamedBackref, e._parseMeta, e._parseVerticalTab, e._parseHex, e._parseCaseMoidifer, e._parseEscapedLiteral, e._parseText]
                    }
                }, {
                    key: "_parseBackrefs",
                    value: function(e, t, n) {
                        var r = e.match(/^[\\$]\d+/);
                        if (r) {
                            for (var o = parseInt(r[0].slice(1), 10);
                                ("" + o).length > 0 && o > n.captureGroupCount;) o = Math.floor(o / 10);
                            return e.backUp(r[0].length - ("$" + o).length), new l.a(n, !0)
                        }
                    }
                }, {
                    key: "_parseNumericBackref",
                    value: function(e, t, n) {
                        if (e.match(/^(?:\${\d+}|\\g<\d+>)/)) return new l.a(n, !0)
                    }
                }, {
                    key: "_parseNamedBackref",
                    value: function(e, t, n) {
                        if (e.match(/^(?:\${\w+}|\\g<\w+>)/)) return new p.a(n)
                    }
                }, {
                    key: "_parseMeta",
                    value: function(e, t, n) {
                        var r = e.match(/^\\[trnfab]/);
                        if (r) return new f.a(n, r[0])
                    }
                }, {
                    key: "_parseVerticalTab",
                    value: function(e, t, n) {
                        if (e.match(/^\\v/)) return new M.a(n)
                    }
                }, {
                    key: "_parseHex",
                    value: function(e, t, n) {
                        if (e.match(/^\\x(?:[a-fA-F0-9]{2}|{[a-fA-F0-9]+})/)) return new y.a(n)
                    }
                }, {
                    key: "_parseCaseMoidifer",
                    value: function(e, t, n) {
                        return e.match(/^\\[UL]/) ? new w(n) : e.match(/^\\E/) ? new P(n) : void 0
                    }
                }, {
                    key: "_parseEscapedLiteral",
                    value: function(e, t, n) {
                        if (e.match(/^\\./)) return new T.a(n)
                    }
                }, {
                    key: "_parseText",
                    value: function(e, t, n) {
                        return "\\" === e.next() ? new R.a(n) : new N.a(n)
                    }
                }], (n = null) && A(t.prototype, n), r && A(t, r), e
            }(),
            L = n("./app/js/parsers/Tokens/Javascript/HexEscape.js"),
            D = n("./app/js/parsers/Tokens/ControlSequence.js"),
            q = n("./app/js/parsers/Tokens/UnsupportedToken.js");

        function F(e) {
            return (F = "function" === typeof Symbol && "symbol" === typeof Symbol.iterator ? function(e) {
                return typeof e
            } : function(e) {
                return e && "function" === typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e
            })(e)
        }

        function z(e, t) {
            return !t || "object" !== F(t) && "function" !== typeof t ? function(e) {
                if (void 0 === e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
                return e
            }(e) : t
        }

        function G(e) {
            return (G = Object.setPrototypeOf ? Object.getPrototypeOf : function(e) {
                return e.__proto__ || Object.getPrototypeOf(e)
            })(e)
        }

        function B(e, t) {
            return (B = Object.setPrototypeOf || function(e, t) {
                return e.__proto__ = t, e
            })(e, t)
        }
        var U = function(e) {
            function t(e) {
                var n;
                return function(e, t) {
                    if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function")
                }(this, t), (n = z(this, G(t).call(this, e, b.x))).style = m.a.meta, n
            }
            return function(e, t) {
                if ("function" !== typeof t && null !== t) throw new TypeError("Super expression must either be null or a function");
                e.prototype = Object.create(t && t.prototype, {
                    constructor: {
                        value: e,
                        writable: !0,
                        configurable: !0
                    }
                }), t && B(e, t)
            }(t, h["a"]), t
        }();

        function H(e) {
            return (H = "function" === typeof Symbol && "symbol" === typeof Symbol.iterator ? function(e) {
                return typeof e
            } : function(e) {
                return e && "function" === typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e
            })(e)
        }

        function W(e, t) {
            return !t || "object" !== H(t) && "function" !== typeof t ? function(e) {
                if (void 0 === e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
                return e
            }(e) : t
        }

        function V(e) {
            return (V = Object.setPrototypeOf ? Object.getPrototypeOf : function(e) {
                return e.__proto__ || Object.getPrototypeOf(e)
            })(e)
        }

        function K(e, t) {
            return (K = Object.setPrototypeOf || function(e, t) {
                return e.__proto__ = t, e
            })(e, t)
        }
        var $ = function(e) {
            function t(e) {
                var n;
                return function(e, t) {
                    if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function")
                }(this, t), (n = W(this, V(t).call(this, e, b.y))).style = m.a.meta, n
            }
            return function(e, t) {
                if ("function" !== typeof t && null !== t) throw new TypeError("Super expression must either be null or a function");
                e.prototype = Object.create(t && t.prototype, {
                    constructor: {
                        value: e,
                        writable: !0,
                        configurable: !0
                    }
                }), t && K(e, t)
            }(t, h["a"]), t
        }();

        function Y(e) {
            return (Y = "function" === typeof Symbol && "symbol" === typeof Symbol.iterator ? function(e) {
                return typeof e
            } : function(e) {
                return e && "function" === typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e
            })(e)
        }

        function J(e, t) {
            return !t || "object" !== Y(t) && "function" !== typeof t ? function(e) {
                if (void 0 === e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
                return e
            }(e) : t
        }

        function Q(e) {
            return (Q = Object.setPrototypeOf ? Object.getPrototypeOf : function(e) {
                return e.__proto__ || Object.getPrototypeOf(e)
            })(e)
        }

        function X(e, t) {
            return (X = Object.setPrototypeOf || function(e, t) {
                return e.__proto__ = t, e
            })(e, t)
        }
        var Z = function(e) {
                function t(e) {
                    var n;
                    return function(e, t) {
                        if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function")
                    }(this, t), (n = J(this, Q(t).call(this, e, b.w))).style = m.a.meta, n
                }
                return function(e, t) {
                    if ("function" !== typeof t && null !== t) throw new TypeError("Super expression must either be null or a function");
                    e.prototype = Object.create(t && t.prototype, {
                        constructor: {
                            value: e,
                            writable: !0,
                            configurable: !0
                        }
                    }), t && X(e, t)
                }(t, h["a"]), t
            }(),
            ee = n("./app/js/parsers/Tokens/Javascript/BinaryZero.js"),
            te = n("./app/js/parsers/Tokens/UnicodeEscape.js"),
            ne = n("./app/js/parsers/RegexParser/Tokenizers/JavascriptTokenizer.js");

        function re(e, t) {
            for (var n = 0; n < t.length; n++) {
                var r = t[n];
                r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(e, r.key, r)
            }
        }
        var oe = function() {
                function e() {
                    ! function(e, t) {
                        if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function")
                    }(this, e)
                }
                var t, n, r;
                return t = e, r = [{
                    key: "getTokenizers",
                    value: function() {
                        return [e._parseDoubleDollar, e._parseDollarAnd, e._parseDollarBacktick, e._parseDollarQuote, e._parseBackrefs, e._parseBinaryZero, e._parseOctal, e._parseMeta, e._parseVerticalTab, e._parseHex, e._parseUnicodeEscape, e._parseControlSequence, ne.a._parseEscapedLiteral, e._parseText]
                    }
                }, {
                    key: "_parseDoubleDollar",
                    value: function(e, t, n) {
                        if (e.matchString("$$")) return new T.a(n)
                    }
                }, {
                    key: "_parseDollarAnd",
                    value: function(e, t, n) {
                        if (e.matchString("$&")) return new U(n)
                    }
                }, {
                    key: "_parseDollarBacktick",
                    value: function(e, t, n) {
                        if (e.matchString("$`")) return new $(n)
                    }
                }, {
                    key: "_parseDollarQuote",
                    value: function(e, t, n) {
                        if (e.matchString("$'")) return new Z(n)
                    }
                }, {
                    key: "_parseBackrefs",
                    value: function(e, t, n) {
                        var r = e.match(/^\$[1-9]\d*/);
                        if (r) {
                            for (var o = parseInt(r[0].slice(1), 10);
                                ("" + o).length > 0 && o > n.captureGroupCount;) o = Math.floor(o / 10);
                            return e.backUp(r[0].length - ("$" + o).length), new l.a(n)
                        }
                    }
                }, {
                    key: "_parseBinaryZero",
                    value: function(e, t, n) {
                        if (e.match(/^\\0/)) return new ee.a(n, !!e.match(/^\d+/))
                    }
                }, {
                    key: "_parseOctal",
                    value: function(e, t, n) {
                        if (e.match(/^\\(?:[0-3][0-7]{1,2}|[0-7]{1,2})/)) return new q.a(n)
                    }
                }, {
                    key: "_parseMeta",
                    value: function(e, t, n) {
                        var r = e.match(/^\\[trnfab]/);
                        if (r) return new f.a(n, r[0])
                    }
                }, {
                    key: "_parseVerticalTab",
                    value: function(e, t, n) {
                        if (e.match(/^\\v/)) return new M.a(n)
                    }
                }, {
                    key: "_parseHex",
                    value: function(e, t, n) {
                        if (e.match(/^\\x[a-fA-F0-9]{0,2}/)) return new L.a(n, !0)
                    }
                }, {
                    key: "_parseUnicodeEscape",
                    value: function(e, t, n) {
                        if ("\\" === t && e.match(/^\\u[0-9A-Fa-f]{0,4}/)) return new te.a(n, !0)
                    }
                }, {
                    key: "_parseControlSequence",
                    value: function(e, t, n) {
                        if (e.match(/^\\c./)) return new D.a(n)
                    }
                }, {
                    key: "_parseText",
                    value: function(e, t, n) {
                        return "\\" === e.next() ? new R.a(n) : new N.a(n)
                    }
                }], (n = null) && re(t.prototype, n), r && re(t, r), e
            }(),
            ae = n("./app/js/constants/RegexErrors.js"),
            ie = n("./app/js/parsers/Tokens/OctalEscape.js");

        function se(e) {
            return (se = "function" === typeof Symbol && "symbol" === typeof Symbol.iterator ? function(e) {
                return typeof e
            } : function(e) {
                return e && "function" === typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e
            })(e)
        }

        function ce(e, t) {
            for (var n = 0; n < t.length; n++) {
                var r = t[n];
                r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(e, r.key, r)
            }
        }

        function ue(e, t) {
            return !t || "object" !== se(t) && "function" !== typeof t ? function(e) {
                if (void 0 === e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
                return e
            }(e) : t
        }

        function le(e) {
            return (le = Object.setPrototypeOf ? Object.getPrototypeOf : function(e) {
                return e.__proto__ || Object.getPrototypeOf(e)
            })(e)
        }

        function pe(e, t) {
            return (pe = Object.setPrototypeOf || function(e, t) {
                return e.__proto__ = t, e
            })(e, t)
        }
        var fe = function(e) {
                function t() {
                    return function(e, t) {
                        if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function")
                    }(this, t), ue(this, le(t).apply(this, arguments))
                }
                var n, r, o;
                return function(e, t) {
                    if ("function" !== typeof t && null !== t) throw new TypeError("Super expression must either be null or a function");
                    e.prototype = Object.create(t && t.prototype, {
                        constructor: {
                            value: e,
                            writable: !0,
                            configurable: !0
                        }
                    }), t && pe(e, t)
                }(t, ie["a"]), n = t, (r = [{
                    key: "parseComplete",
                    value: function() {
                        ie.a.prototype.parseComplete.call(this), 4 !== this._string.length && (this.error = ae.s)
                    }
                }]) && ce(n.prototype, r), o && ce(n, o), t
            }(),
            ye = n("./app/js/parsers/Tokens/GoLang/HexEscape.js"),
            be = n("./app/js/parsers/Tokens/UnescapedDelimiter.js"),
            he = n("./app/js/parsers/Tokens/GoLang/EscapedLiteral.js");

        function de(e, t) {
            for (var n = 0; n < t.length; n++) {
                var r = t[n];
                r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(e, r.key, r)
            }
        }
        var me = function() {
            function e() {
                ! function(e, t) {
                    if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function")
                }(this, e)
            }
            var t, n, r;
            return t = e, r = [{
                key: "getTokenizers",
                value: function() {
                    return [e._parseNumericBackref, e._parseNamedBackref, e._parseOctal, I._parseMeta, I._parseVerticalTab, e._parseHex, oe._parseUnicodeEscape, e._parseBigUnicode, e._parseQuote, e._parseEscapedLiteral, I._parseText]
                }
            }, {
                key: "_parseNumericBackref",
                value: function(e, t, n) {
                    if (e.match(/^\$(?:\d+\b|{\d+})/)) return new l.a(n, !0)
                }
            }, {
                key: "_parseNamedBackref",
                value: function(e, t, n) {
                    if (e.match(/^\$(?:\w+|{\w+})/)) return new p.a(n)
                }
            }, {
                key: "_parseOctal",
                value: function(e, t, n) {
                    if (e.match(/^\\[0-7]{1,3}/)) return new fe(n)
                }
            }, {
                key: "_parseHex",
                value: function(e, t, n) {
                    if (e.match(/^\\x[a-fA-F0-9]{0,2}/)) return new ye.a(n, !0)
                }
            }, {
                key: "_parseBigUnicode",
                value: function(e, t, n) {
                    if (e.matchString("\\U")) return new q.a(n)
                }
            }, {
                key: "_parseQuote",
                value: function(e, t, n) {
                    if (e.matchString('"')) return new be.a(n)
                }
            }, {
                key: "_parseEscapedLiteral",
                value: function(e, t, n) {
                    if (e.match(/^\\[\s\S]/)) return new he.a(n, !0)
                }
            }], (n = null) && de(t.prototype, n), r && de(t, r), e
        }();

        function ge(e, t) {
            for (var n = 0; n < t.length; n++) {
                var r = t[n];
                r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(e, r.key, r)
            }
        }
        var ve = function() {
            function e() {
                ! function(e, t) {
                    if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function")
                }(this, e)
            }
            var t, n, r;
            return t = e, r = [{
                key: "getTokenizers",
                value: function() {
                    return [e._parseBackrefs, e._parseOctal, e._parseNumericBackref, e._parseNamedBackref, e._parseInvalidBackref, I._parseMeta, I._parseVerticalTab, I._parseEscapedLiteral, I._parseText]
                }
            }, {
                key: "_parseBackrefs",
                value: function(e, t, n) {
                    if (e.match(/^\\[1-9]\d?/)) return new l.a(n)
                }
            }, {
                key: "_parseOctal",
                value: function(e, t, n) {
                    if (e.match(/^\\(?:0[0-7]{1,2}|[1-3][0-7]{1,2})/)) return new ie.a(n)
                }
            }, {
                key: "_parseNumericBackref",
                value: function(e, t, n) {
                    if (e.match(/^\\g<\d+>/)) return new l.a(n, !0)
                }
            }, {
                key: "_parseNamedBackref",
                value: function(e, t, n) {
                    if (e.match(/^\\g<\w+>/)) return new p.a(n)
                }
            }, {
                key: "_parseInvalidBackref",
                value: function(e, t, n) {
                    if (e.match(/^\\g/)) return new l.a(n, !0)
                }
            }], (n = null) && ge(t.prototype, n), r && ge(t, r), e
        }();

        function _e(e) {
            return (_e = "function" === typeof Symbol && "symbol" === typeof Symbol.iterator ? function(e) {
                return typeof e
            } : function(e) {
                return e && "function" === typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e
            })(e)
        }

        function Oe(e, t, n) {
            return t in e ? Object.defineProperty(e, t, {
                value: n,
                enumerable: !0,
                configurable: !0,
                writable: !0
            }) : e[t] = n, e
        }

        function je(e, t) {
            for (var n = 0; n < t.length; n++) {
                var r = t[n];
                r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(e, r.key, r)
            }
        }

        function we(e, t) {
            return !t || "object" !== _e(t) && "function" !== typeof t ? function(e) {
                if (void 0 === e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
                return e
            }(e) : t
        }

        function ke(e) {
            return (ke = Object.setPrototypeOf ? Object.getPrototypeOf : function(e) {
                return e.__proto__ || Object.getPrototypeOf(e)
            })(e)
        }

        function Ee(e, t) {
            return (Ee = Object.setPrototypeOf || function(e, t) {
                return e.__proto__ = t, e
            })(e, t)
        }
        var Se = function(e) {
            function t() {
                var e;
                return function(e, t) {
                    if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function")
                }(this, t), (e = we(this, ke(t).call(this)))._getTokenizers = Object(a.a)(function(e) {
                    switch (e) {
                        case u.a.PCRE:
                            return I.getTokenizers();
                        case u.a.JAVASCRIPT:
                            return oe.getTokenizers();
                        case u.a.GOLANG:
                            return me.getTokenizers();
                        case u.a.PYTHON:
                            return ve.getTokenizers();
                        default:
                            throw new Error("There is no tokenizer for '".concat(e, "'"))
                    }
                }), e._initialState = {
                    uppercase: !1,
                    lowercase: !1,
                    subpatternTokens: [],
                    inCharClass: !1,
                    flags: "",
                    subpatterns: [],
                    captureGroupCount: 0,
                    captureGroupMap: []
                }, e._patternError = !1, e
            }
            var n, r, c;
            return function(e, t) {
                if ("function" !== typeof t && null !== t) throw new TypeError("Super expression must either be null or a function");
                e.prototype = Object.create(t && t.prototype, {
                    constructor: {
                        value: e,
                        writable: !0,
                        configurable: !0
                    }
                }), t && Ee(e, t)
            }(t, i["a"]), n = t, (r = [{
                key: "parse",
                value: function(e) {
                    var t = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : {};
                    this._tokens = [], this._positionToTokenMap = [];
                    for (var n = new s.a(e), r = function(e) {
                            for (var t = 1; t < arguments.length; t++) {
                                var n = null != arguments[t] ? arguments[t] : {},
                                    r = Object.keys(n);
                                "function" === typeof Object.getOwnPropertySymbols && (r = r.concat(Object.getOwnPropertySymbols(n).filter(function(e) {
                                    return Object.getOwnPropertyDescriptor(n, e).enumerable
                                }))), r.forEach(function(t) {
                                    Oe(e, t, n[t])
                                })
                            }
                            return e
                        }({}, this._initialState, i.a.copyState(t)); !n.eof;) {
                        var a = n.position,
                            c = this._token(t.flavor, n, r),
                            u = n.position;
                        if (c.position = {
                                start: a,
                                end: u
                            }, c.string = e.slice(a, u), t.editor) {
                            var l = t.editor.posFromIndex(a);
                            c.editorPosition = o.a.extend(c, {
                                start: {
                                    line: l.line,
                                    pos: l.ch
                                },
                                end: {
                                    line: l.line,
                                    pos: l.ch + (u - a)
                                }
                            })
                        }
                        c.parseComplete();
                        for (var p = a; p < u; p++) this._positionToTokenMap[p] = c;
                        this._tokens.push(c), r = c.nextState
                    }
                    var f = r;
                    this._patternError = f.patternError;
                    for (var y = 0, b = f.subpatternTokens.length; y < b; y++) {
                        var h = f.subpatternTokens[y]._revalidate(f);
                        this._patternError = this._patternError || h
                    }
                    return this
                }
            }, {
                key: "_token",
                value: function(e, t, n) {
                    for (var r = t.peek(), o = this._getTokenizers(e), a = 0, i = o.length; a < i; a++) {
                        var s = o[a].call(this, t, r, n);
                        if (null != s) return s
                    }
                    throw new Error("There was no tokenizer that could parse the subst string '".concat(t.current, "'"))
                }
            }]) && je(n.prototype, r), c && je(n, c), t
        }();
        t.a = Se
    },
    "./app/js/parsers/Tokens/Backspace.js": function(e, t, n) {
        "use strict";
        var r = n("./app/js/constants/RegexTypes.js"),
            o = n("./app/js/parsers/Tokens/Token.js"),
            a = n("./app/js/parsers/Tokens/tokenStyles.css"),
            i = n.n(a);

        function s(e) {
            return (s = "function" === typeof Symbol && "symbol" === typeof Symbol.iterator ? function(e) {
                return typeof e
            } : function(e) {
                return e && "function" === typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e
            })(e)
        }

        function c(e, t) {
            return !t || "object" !== s(t) && "function" !== typeof t ? function(e) {
                if (void 0 === e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
                return e
            }(e) : t
        }

        function u(e) {
            return (u = Object.setPrototypeOf ? Object.getPrototypeOf : function(e) {
                return e.__proto__ || Object.getPrototypeOf(e)
            })(e)
        }

        function l(e, t) {
            return (l = Object.setPrototypeOf || function(e, t) {
                return e.__proto__ = t, e
            })(e, t)
        }
        var p = function(e) {
            function t(e) {
                var n;
                return function(e, t) {
                    if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function")
                }(this, t), (n = c(this, u(t).call(this, e, r.e))).style = i.a.meta, n._length = 1, n._charCode = "\b".charCodeAt(0), n
            }
            return function(e, t) {
                if ("function" !== typeof t && null !== t) throw new TypeError("Super expression must either be null or a function");
                e.prototype = Object.create(t && t.prototype, {
                    constructor: {
                        value: e,
                        writable: !0,
                        configurable: !0
                    }
                }), t && l(e, t)
            }(t, o["a"]), t
        }();
        t.a = p
    },
    "./app/js/parsers/Tokens/CapturingGroup.js": function(e, t, n) {
        "use strict";
        var r = n("./app/js/constants/RegexTypes.js"),
            o = n("./app/js/parsers/Tokens/GroupToken.js");

        function a(e) {
            return (a = "function" === typeof Symbol && "symbol" === typeof Symbol.iterator ? function(e) {
                return typeof e
            } : function(e) {
                return e && "function" === typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e
            })(e)
        }

        function i(e, t) {
            for (var n = 0; n < t.length; n++) {
                var r = t[n];
                r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(e, r.key, r)
            }
        }

        function s(e, t) {
            return !t || "object" !== a(t) && "function" !== typeof t ? function(e) {
                if (void 0 === e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
                return e
            }(e) : t
        }

        function c(e) {
            return (c = Object.setPrototypeOf ? Object.getPrototypeOf : function(e) {
                return e.__proto__ || Object.getPrototypeOf(e)
            })(e)
        }

        function u(e, t) {
            return (u = Object.setPrototypeOf || function(e, t) {
                return e.__proto__ = t, e
            })(e, t)
        }
        var l = function(e) {
            function t(e) {
                var n;
                return function(e, t) {
                    if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function")
                }(this, t), (n = s(this, c(t).call(this, e, r.g, !0)))._groupNumber = null, n._groupNumber = e.captureGroupCount + 1, n
            }
            var n, a, l;
            return function(e, t) {
                if ("function" !== typeof t && null !== t) throw new TypeError("Super expression must either be null or a function");
                e.prototype = Object.create(t && t.prototype, {
                    constructor: {
                        value: e,
                        writable: !0,
                        configurable: !0
                    }
                }), t && u(e, t)
            }(t, o["a"]), n = t, (a = [{
                key: "_getNextState",
                value: function(e) {
                    return this._state.inDEFINE && e.definedSubpatterns.push(this._state.captureGroupCount), e.captureGroupCount++, e.captureGroupMap[e.captureGroupCount] = e.captureGroupCount, o.a.prototype._getNextState.call(this, e)
                }
            }, {
                key: "groupNumber",
                get: function() {
                    return this._groupNumber
                }
            }]) && i(n.prototype, a), l && i(n, l), t
        }();
        t.a = l
    },
    "./app/js/parsers/Tokens/CharacterRange.js": function(e, t, n) {
        "use strict";
        var r = n("./app/js/constants/RegexTypes.js"),
            o = n("./app/js/constants/RegexErrors.js"),
            a = n("./app/js/parsers/Tokens/Token.js"),
            i = n("./app/js/parsers/Tokens/tokenStyles.css"),
            s = n.n(i);

        function c(e) {
            return (c = "function" === typeof Symbol && "symbol" === typeof Symbol.iterator ? function(e) {
                return typeof e
            } : function(e) {
                return e && "function" === typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e
            })(e)
        }

        function u(e, t) {
            for (var n = 0; n < t.length; n++) {
                var r = t[n];
                r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(e, r.key, r)
            }
        }

        function l(e, t) {
            return !t || "object" !== c(t) && "function" !== typeof t ? function(e) {
                if (void 0 === e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
                return e
            }(e) : t
        }

        function p(e, t, n) {
            return (p = "undefined" !== typeof Reflect && Reflect.get ? Reflect.get : function(e, t, n) {
                var r = function(e, t) {
                    for (; !Object.prototype.hasOwnProperty.call(e, t) && null !== (e = f(e)););
                    return e
                }(e, t);
                if (r) {
                    var o = Object.getOwnPropertyDescriptor(r, t);
                    return o.get ? o.get.call(n) : o.value
                }
            })(e, t, n || e)
        }

        function f(e) {
            return (f = Object.setPrototypeOf ? Object.getPrototypeOf : function(e) {
                return e.__proto__ || Object.getPrototypeOf(e)
            })(e)
        }

        function y(e, t) {
            return (y = Object.setPrototypeOf || function(e, t) {
                return e.__proto__ = t, e
            })(e, t)
        }
        var b = function(e) {
            function t(e) {
                var n;
                return function(e, t) {
                    if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function")
                }(this, t), (n = l(this, f(t).call(this, e, r.h)))._leftToken = null, n._rightToken = null, n.style = s.a.meta, n._charCode = "-".charCodeAt(0), n
            }
            var n, i, c;
            return function(e, t) {
                if ("function" !== typeof t && null !== t) throw new TypeError("Super expression must either be null or a function");
                e.prototype = Object.create(t && t.prototype, {
                    constructor: {
                        value: e,
                        writable: !0,
                        configurable: !0
                    }
                }), t && y(e, t)
            }(t, a["a"]), n = t, (i = [{
                key: "_getNextState",
                value: function(e) {
                    return e.ranges.push(this), e
                }
            }, {
                key: "_revalidate",
                value: function(e, t) {
                    return this._leftToken = e, this._rightToken = t, !t || t.type === r.i || e.type === r.K || e.type === r.h || e.partOfRange || t.partOfRange ? this._convertToPlainText() : null == e.charCode || null == t.charCode ? this.error = o.o : null != e.charCode && null == t.charCode ? this.error = o.b : e.charCode > t.charCode && (this.error = o.e), this._type !== r.M && (e.error || t.error ? this.error = o.d : (e._rangeToken = t._rangeToken = this, e.partOfRange = !0, t.partOfRange = !0)), !!this.error
                }
            }, {
                key: "_convertToPlainText",
                value: function() {
                    this._type = r.M, this._length = 1, this._leftToken = this._rightToken = void 0, this.style = null
                }
            }, {
                key: "leftToken",
                get: function() {
                    return this._leftToken
                }
            }, {
                key: "rightToken",
                get: function() {
                    return this._rightToken
                }
            }, {
                key: "tooltipMarkerRange",
                get: function() {
                    return this._type === r.M ? p(f(t.prototype), "tooltipMarkerRange", this) : {
                        primary: {
                            start: {
                                pos: (this._leftToken || this)._editorPosition.start.pos,
                                line: (this._leftToken || this)._editorPosition.start.line
                            },
                            end: {
                                pos: (this._rightToken || this)._editorPosition.end.pos,
                                line: (this._rightToken || this)._editorPosition.end.line
                            }
                        }
                    }
                }
            }]) && u(n.prototype, i), c && u(n, c), t
        }();
        t.a = b
    },
    "./app/js/parsers/Tokens/CloseCharClass.js": function(e, t, n) {
        "use strict";
        var r = n("./node_modules/lodash/lodash.js"),
            o = n.n(r),
            a = n("./app/js/constants/RegexTypes.js"),
            i = n("./app/js/parsers/Tokens/Token.js"),
            s = n("./app/js/parsers/Tokens/tokenStyles.css"),
            c = n.n(s);

        function u(e) {
            return (u = "function" === typeof Symbol && "symbol" === typeof Symbol.iterator ? function(e) {
                return typeof e
            } : function(e) {
                return e && "function" === typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e
            })(e)
        }

        function l(e, t) {
            for (var n = 0; n < t.length; n++) {
                var r = t[n];
                r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(e, r.key, r)
            }
        }

        function p(e) {
            return (p = Object.setPrototypeOf ? Object.getPrototypeOf : function(e) {
                return e.__proto__ || Object.getPrototypeOf(e)
            })(e)
        }

        function f(e, t) {
            return (f = Object.setPrototypeOf || function(e, t) {
                return e.__proto__ = t, e
            })(e, t)
        }

        function y(e) {
            if (void 0 === e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
            return e
        }
        var b = function(e) {
            function t(e) {
                var n, r, i;
                ! function(e, t) {
                    if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function")
                }(this, t), r = this, (n = !(i = p(t).call(this, e, a.i)) || "object" !== u(i) && "function" !== typeof i ? y(r) : i)._openCharClass = null, n.style = [c.a.charclass, c.a.meta];
                var s = o.a.last(e.charClasses);
                return s.addRelatedToken(y(y(n))), s._closeCharClass = y(y(n)), n._openCharClass = s, n
            }
            var n, r, s;
            return function(e, t) {
                if ("function" !== typeof t && null !== t) throw new TypeError("Super expression must either be null or a function");
                e.prototype = Object.create(t && t.prototype, {
                    constructor: {
                        value: e,
                        writable: !0,
                        configurable: !0
                    }
                }), t && f(e, t)
            }(t, i["a"]), n = t, (r = [{
                key: "_getNextState",
                value: function(e) {
                    return e.inCharClass = !1, e.charClasses.pop(), e.parents.pop(), e.previousToken = this._openCharClass, e
                }
            }, {
                key: "tooltipMarkerRange",
                get: function() {
                    return {
                        primary: {
                            start: {
                                pos: (this._openCharClass || this)._editorPosition.start.pos,
                                line: (this._openCharClass || this)._editorPosition.start.line
                            },
                            end: {
                                pos: this._editorPosition.end.pos,
                                line: this._editorPosition.end.line
                            }
                        }
                    }
                }
            }, {
                key: "tooltipToken",
                get: function() {
                    return this._openCharClass || this
                }
            }, {
                key: "quantifier",
                set: function(e) {
                    this._openCharClass ? this._openCharClass.quantifier = e : this._quantifier = e
                }
            }]) && l(n.prototype, r), s && l(n, s), t
        }();
        t.a = b
    },
    "./app/js/parsers/Tokens/ControlSequence.js": function(e, t, n) {
        "use strict";
        var r = n("./app/js/constants/RegexTypes.js"),
            o = n("./app/js/constants/RegexErrors.js"),
            a = n("./app/js/parsers/Tokens/Token.js"),
            i = n("./app/js/parsers/Tokens/tokenStyles.css"),
            s = n.n(i);

        function c(e) {
            return (c = "function" === typeof Symbol && "symbol" === typeof Symbol.iterator ? function(e) {
                return typeof e
            } : function(e) {
                return e && "function" === typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e
            })(e)
        }

        function u(e, t) {
            for (var n = 0; n < t.length; n++) {
                var r = t[n];
                r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(e, r.key, r)
            }
        }

        function l(e, t) {
            return !t || "object" !== c(t) && "function" !== typeof t ? function(e) {
                if (void 0 === e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
                return e
            }(e) : t
        }

        function p(e) {
            return (p = Object.setPrototypeOf ? Object.getPrototypeOf : function(e) {
                return e.__proto__ || Object.getPrototypeOf(e)
            })(e)
        }

        function f(e, t) {
            return (f = Object.setPrototypeOf || function(e, t) {
                return e.__proto__ = t, e
            })(e, t)
        }
        var y = function(e) {
            function t(e) {
                var n;
                return function(e, t) {
                    if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function")
                }(this, t), (n = l(this, p(t).call(this, e, r.l)))._controlChar = null, n.style = s.a.meta, n._quantifiable = !0, n._length = 1, n
            }
            var n, i, c;
            return function(e, t) {
                if ("function" !== typeof t && null !== t) throw new TypeError("Super expression must either be null or a function");
                e.prototype = Object.create(t && t.prototype, {
                    constructor: {
                        value: e,
                        writable: !0,
                        configurable: !0
                    }
                }), t && f(e, t)
            }(t, a["a"]), n = t, (i = [{
                key: "parseComplete",
                value: function() {
                    this._controlChar = this._string.slice(2), /^[\u0000-\u007F]$/.test(this._controlChar) || (this.error = o.r), this._controlChar && (this._charCode = 64 ^ this._controlChar.toUpperCase().charCodeAt(0))
                }
            }, {
                key: "controlChar",
                get: function() {
                    return this._controlChar
                }
            }]) && u(n.prototype, i), c && u(n, c), t
        }();
        t.a = y
    },
    "./app/js/parsers/Tokens/DuplicateSubpatternGroup.js": function(e, t, n) {
        "use strict";
        var r = n("./node_modules/lodash/lodash.js"),
            o = n.n(r),
            a = n("./app/js/constants/RegexTypes.js"),
            i = n("./app/js/parsers/Tokens/GroupToken.js");

        function s(e) {
            return (s = "function" === typeof Symbol && "symbol" === typeof Symbol.iterator ? function(e) {
                return typeof e
            } : function(e) {
                return e && "function" === typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e
            })(e)
        }

        function c(e, t, n) {
            return t in e ? Object.defineProperty(e, t, {
                value: n,
                enumerable: !0,
                configurable: !0,
                writable: !0
            }) : e[t] = n, e
        }

        function u(e, t) {
            for (var n = 0; n < t.length; n++) {
                var r = t[n];
                r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(e, r.key, r)
            }
        }

        function l(e, t) {
            return !t || "object" !== s(t) && "function" !== typeof t ? function(e) {
                if (void 0 === e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
                return e
            }(e) : t
        }

        function p(e) {
            return (p = Object.setPrototypeOf ? Object.getPrototypeOf : function(e) {
                return e.__proto__ || Object.getPrototypeOf(e)
            })(e)
        }

        function f(e, t) {
            return (f = Object.setPrototypeOf || function(e, t) {
                return e.__proto__ = t, e
            })(e, t)
        }
        var y = function(e) {
            function t(e) {
                var n;
                return function(e, t) {
                    if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function")
                }(this, t), (n = l(this, p(t).call(this, e, a.f, !0)))._captureGroupMap = {}, n._subpatterns = [], n._finalCaptureGroupCount = 0, n
            }
            var n, r, s;
            return function(e, t) {
                if ("function" !== typeof t && null !== t) throw new TypeError("Super expression must either be null or a function");
                e.prototype = Object.create(t && t.prototype, {
                    constructor: {
                        value: e,
                        writable: !0,
                        configurable: !0
                    }
                }), t && f(e, t)
            }(t, i["a"]), n = t, (r = [{
                key: "_getNextState",
                value: function(e) {
                    return e.inDuplicateSubpatternGroup = !0, i.a.prototype._getNextState.call(this, e)
                }
            }, {
                key: "baseline",
                set: function(e) {
                    this._finalCaptureGroupCount = Math.max(this._finalCaptureGroupCount, e.captureGroupCount), this._captureGroupMap = function(e) {
                        for (var t = 1; t < arguments.length; t++) {
                            var n = null != arguments[t] ? arguments[t] : {},
                                r = Object.keys(n);
                            "function" === typeof Object.getOwnPropertySymbols && (r = r.concat(Object.getOwnPropertySymbols(n).filter(function(e) {
                                return Object.getOwnPropertyDescriptor(n, e).enumerable
                            }))), r.forEach(function(t) {
                                c(e, t, n[t])
                            })
                        }
                        return e
                    }({}, this._captureGroupMap, e.captureGroupMap), this._subpatterns = o.a.uniq(this._subpatterns.concat(e.subpatterns))
                },
                get: function() {
                    return {
                        captureGroupCount: this._state.captureGroupCount,
                        captureGroupMap: this._captureGroupMap || this._state.captureGroupMap,
                        subpatterns: this._subpatterns || this._state.subpatterns
                    }
                }
            }, {
                key: "finalCaptureGroupCount",
                get: function() {
                    return this._finalCaptureGroupCount
                }
            }]) && u(n.prototype, r), s && u(n, s), t
        }();
        t.a = y
    },
    "./app/js/parsers/Tokens/EndQuote.js": function(e, t, n) {
        "use strict";
        var r = n("./node_modules/lodash/lodash.js"),
            o = n.n(r),
            a = n("./app/js/constants/RegexTypes.js"),
            i = n("./app/js/parsers/Tokens/Token.js"),
            s = n("./app/js/parsers/Tokens/tokenStyles.css"),
            c = n.n(s);

        function u(e) {
            return (u = "function" === typeof Symbol && "symbol" === typeof Symbol.iterator ? function(e) {
                return typeof e
            } : function(e) {
                return e && "function" === typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e
            })(e)
        }

        function l(e, t) {
            for (var n = 0; n < t.length; n++) {
                var r = t[n];
                r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(e, r.key, r)
            }
        }

        function p(e, t) {
            return !t || "object" !== u(t) && "function" !== typeof t ? function(e) {
                if (void 0 === e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
                return e
            }(e) : t
        }

        function f(e) {
            return (f = Object.setPrototypeOf ? Object.getPrototypeOf : function(e) {
                return e.__proto__ || Object.getPrototypeOf(e)
            })(e)
        }

        function y(e, t) {
            return (y = Object.setPrototypeOf || function(e, t) {
                return e.__proto__ = t, e
            })(e, t)
        }
        var b = function(e) {
            function t(e) {
                var n;
                return function(e, t) {
                    if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function")
                }(this, t), (n = p(this, f(t).call(this, e, a.q)))._openQuote = null, n.style = c.a.meta, n._openQuote = o.a.last(e.parents), n.previousToken && (n._charCode = n.previousToken.charCode), n
            }
            var n, r, s;
            return function(e, t) {
                if ("function" !== typeof t && null !== t) throw new TypeError("Super expression must either be null or a function");
                e.prototype = Object.create(t && t.prototype, {
                    constructor: {
                        value: e,
                        writable: !0,
                        configurable: !0
                    }
                }), t && y(e, t)
            }(t, i["a"]), n = t, (r = [{
                key: "_getNextState",
                value: function(e) {
                    return e.inQuote = !1, e.parents.pop(), e.previousToken = this._state.previousToken, e
                }
            }, {
                key: "tooltipToken",
                get: function() {
                    return this._openQuote || this
                }
            }]) && l(n.prototype, r), s && l(n, s), t
        }();
        t.a = b
    },
    "./app/js/parsers/Tokens/EscapedLiteral.js": function(e, t, n) {
        "use strict";
        var r = n("./app/js/constants/RegexTypes.js"),
            o = n("./app/js/parsers/Tokens/Token.js"),
            a = n("./app/js/parsers/Tokens/tokenStyles.css"),
            i = n.n(a);

        function s(e) {
            return (s = "function" === typeof Symbol && "symbol" === typeof Symbol.iterator ? function(e) {
                return typeof e
            } : function(e) {
                return e && "function" === typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e
            })(e)
        }

        function c(e, t) {
            for (var n = 0; n < t.length; n++) {
                var r = t[n];
                r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(e, r.key, r)
            }
        }

        function u(e, t) {
            return !t || "object" !== s(t) && "function" !== typeof t ? function(e) {
                if (void 0 === e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
                return e
            }(e) : t
        }

        function l(e) {
            return (l = Object.setPrototypeOf ? Object.getPrototypeOf : function(e) {
                return e.__proto__ || Object.getPrototypeOf(e)
            })(e)
        }

        function p(e, t) {
            return (p = Object.setPrototypeOf || function(e, t) {
                return e.__proto__ = t, e
            })(e, t)
        }
        var f = function(e) {
            function t(e) {
                var n;
                return function(e, t) {
                    if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function")
                }(this, t), (n = u(this, l(t).call(this, e, r.r))).style = i.a.escaped_string, n._quantifiable = !0, n._length = 1, n
            }
            var n, a, s;
            return function(e, t) {
                if ("function" !== typeof t && null !== t) throw new TypeError("Super expression must either be null or a function");
                e.prototype = Object.create(t && t.prototype, {
                    constructor: {
                        value: e,
                        writable: !0,
                        configurable: !0
                    }
                }), t && p(e, t)
            }(t, o["a"]), n = t, (a = [{
                key: "parseComplete",
                value: function() {
                    this._charCode = this._string.charCodeAt(1)
                }
            }]) && c(n.prototype, a), s && c(n, s), t
        }();
        t.a = f
    },
    "./app/js/parsers/Tokens/GoLang/EscapedLiteral.js": function(e, t, n) {
        "use strict";
        var r = n("./app/js/constants/RegexErrors.js"),
            o = n("./app/js/parsers/Tokens/EscapedLiteral.js");

        function a(e) {
            return (a = "function" === typeof Symbol && "symbol" === typeof Symbol.iterator ? function(e) {
                return typeof e
            } : function(e) {
                return e && "function" === typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e
            })(e)
        }

        function i(e, t) {
            for (var n = 0; n < t.length; n++) {
                var r = t[n];
                r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(e, r.key, r)
            }
        }

        function s(e, t) {
            return !t || "object" !== a(t) && "function" !== typeof t ? function(e) {
                if (void 0 === e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
                return e
            }(e) : t
        }

        function c(e) {
            return (c = Object.setPrototypeOf ? Object.getPrototypeOf : function(e) {
                return e.__proto__ || Object.getPrototypeOf(e)
            })(e)
        }

        function u(e, t) {
            return (u = Object.setPrototypeOf || function(e, t) {
                return e.__proto__ = t, e
            })(e, t)
        }
        var l = function(e) {
            function t(e) {
                var n, r = arguments.length > 1 && void 0 !== arguments[1] && arguments[1];
                return function(e, t) {
                    if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function")
                }(this, t), (n = s(this, c(t).call(this, e)))._isSubstitution = null, n._isSubstitution = r, n
            }
            var n, a, l;
            return function(e, t) {
                if ("function" !== typeof t && null !== t) throw new TypeError("Super expression must either be null or a function");
                e.prototype = Object.create(t && t.prototype, {
                    constructor: {
                        value: e,
                        writable: !0,
                        configurable: !0
                    }
                }), t && u(e, t)
            }(t, o["a"]), n = t, (a = [{
                key: "parseComplete",
                value: function() {
                    o.a.prototype.parseComplete.call(this), /^\\[!"#$%&'()*+,\-.\/:;<=>?@[\\\]^_`{|}~]$/i.test(this._string) ? "\\`" === this._string ? this.error = r.h : this._isSubstitution && !/^\\[\\"]$/.test(this._string) && (this.error = r.s) : this.error = r.s
                }
            }]) && i(n.prototype, a), l && i(n, l), t
        }();
        t.a = l
    },
    "./app/js/parsers/Tokens/GoLang/HexEscape.js": function(e, t, n) {
        "use strict";
        var r = n("./app/js/constants/RegexErrors.js"),
            o = n("./app/js/parsers/Tokens/HexEscape.js");

        function a(e) {
            return (a = "function" === typeof Symbol && "symbol" === typeof Symbol.iterator ? function(e) {
                return typeof e
            } : function(e) {
                return e && "function" === typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e
            })(e)
        }

        function i(e, t) {
            for (var n = 0; n < t.length; n++) {
                var r = t[n];
                r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(e, r.key, r)
            }
        }

        function s(e, t) {
            return !t || "object" !== a(t) && "function" !== typeof t ? function(e) {
                if (void 0 === e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
                return e
            }(e) : t
        }

        function c(e) {
            return (c = Object.setPrototypeOf ? Object.getPrototypeOf : function(e) {
                return e.__proto__ || Object.getPrototypeOf(e)
            })(e)
        }

        function u(e, t) {
            return (u = Object.setPrototypeOf || function(e, t) {
                return e.__proto__ = t, e
            })(e, t)
        }
        var l = function(e) {
            function t(e) {
                var n, r = arguments.length > 1 && void 0 !== arguments[1] && arguments[1];
                return function(e, t) {
                    if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function")
                }(this, t), (n = s(this, c(t).call(this, e)))._isSubstitution = null, n._isSubstitution = r, n
            }
            var n, a, l;
            return function(e, t) {
                if ("function" !== typeof t && null !== t) throw new TypeError("Super expression must either be null or a function");
                e.prototype = Object.create(t && t.prototype, {
                    constructor: {
                        value: e,
                        writable: !0,
                        configurable: !0
                    }
                }), t && u(e, t)
            }(t, o["a"]), n = t, (a = [{
                key: "parseComplete",
                value: function() {
                    this._setValues(), "{" === this._string.charAt(2) && "}" !== this._string.slice(-1) ? this.error = r.n : parseInt(this._hex, 16) > parseInt("0xfffff", 16) ? (this.error = r.j, this._charCode = null) : this._isSubstitution && !/^\\x..$/.test(this._string) && (this.error = r.n)
                }
            }]) && i(n.prototype, a), l && i(n, l), t
        }();
        t.a = l
    },
    "./app/js/parsers/Tokens/GroupToken.js": function(e, t, n) {
        "use strict";
        var r = n("./app/js/constants/RegexErrors.js"),
            o = n("./app/js/parsers/Tokens/Token.js"),
            a = n("./app/js/parsers/Tokens/tokenStyles.css"),
            i = n.n(a);

        function s(e) {
            return (s = "function" === typeof Symbol && "symbol" === typeof Symbol.iterator ? function(e) {
                return typeof e
            } : function(e) {
                return e && "function" === typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e
            })(e)
        }

        function c(e, t) {
            for (var n = 0; n < t.length; n++) {
                var r = t[n];
                r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(e, r.key, r)
            }
        }

        function u(e, t) {
            return !t || "object" !== s(t) && "function" !== typeof t ? function(e) {
                if (void 0 === e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
                return e
            }(e) : t
        }

        function l(e) {
            return (l = Object.setPrototypeOf ? Object.getPrototypeOf : function(e) {
                return e.__proto__ || Object.getPrototypeOf(e)
            })(e)
        }

        function p(e, t) {
            return (p = Object.setPrototypeOf || function(e, t) {
                return e.__proto__ = t, e
            })(e, t)
        }
        var f = 10,
            y = function(e) {
                function t(e, n) {
                    var r, o = arguments.length > 2 && void 0 !== arguments[2] && arguments[2];
                    return function(e, t) {
                        if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function")
                    }(this, t), (r = u(this, l(t).call(this, e, n)))._alternatives = 0, r._closeGroup = null, r.style = i.a["group-".concat(e.groups.length % f)], r._quantifiable = !1, r._willBeQuantifiable = o, r
                }
                var n, a, s;
                return function(e, t) {
                    if ("function" !== typeof t && null !== t) throw new TypeError("Super expression must either be null or a function");
                    e.prototype = Object.create(t && t.prototype, {
                        constructor: {
                            value: e,
                            writable: !0,
                            configurable: !0
                        }
                    }), t && p(e, t)
                }(t, o["a"]), n = t, (a = [{
                    key: "addAlternative",
                    value: function() {
                        this._alternatives++
                    }
                }, {
                    key: "_getNextState",
                    value: function(e) {
                        return e.parents.push(this), e.groups.push(this), e
                    }
                }, {
                    key: "_revalidate",
                    value: function() {
                        return this.error = r.l, !0
                    }
                }, {
                    key: "alternatives",
                    get: function() {
                        return this._alternatives
                    },
                    set: function(e) {
                        this._alternatives = e
                    }
                }, {
                    key: "tooltipMarkerRange",
                    get: function() {
                        return {
                            primary: {
                                start: {
                                    pos: this._editorPosition.start.pos,
                                    line: this._editorPosition.start.line
                                },
                                end: {
                                    pos: (this._closeGroup || this)._editorPosition.end.pos,
                                    line: (this._closeGroup || this)._editorPosition.end.line
                                }
                            }
                        }
                    }
                }, {
                    key: "closeGroup",
                    set: function(e) {
                        this._closeGroup = e, this._closeGroup._quantifiable = this._quantifiable = this._willBeQuantifiable
                    }
                }]) && c(n.prototype, a), s && c(n, s), t
            }();
        t.a = y
    },
    "./app/js/parsers/Tokens/HexEscape.js": function(e, t, n) {
        "use strict";
        var r = n("./app/js/constants/RegexTypes.js"),
            o = n("./app/js/constants/RegexErrors.js"),
            a = n("./app/js/parsers/Tokens/Token.js"),
            i = n("./app/js/parsers/Tokens/tokenStyles.css"),
            s = n.n(i);

        function c(e) {
            return (c = "function" === typeof Symbol && "symbol" === typeof Symbol.iterator ? function(e) {
                return typeof e
            } : function(e) {
                return e && "function" === typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e
            })(e)
        }

        function u(e, t) {
            for (var n = 0; n < t.length; n++) {
                var r = t[n];
                r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(e, r.key, r)
            }
        }

        function l(e, t) {
            return !t || "object" !== c(t) && "function" !== typeof t ? function(e) {
                if (void 0 === e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
                return e
            }(e) : t
        }

        function p(e) {
            return (p = Object.setPrototypeOf ? Object.getPrototypeOf : function(e) {
                return e.__proto__ || Object.getPrototypeOf(e)
            })(e)
        }

        function f(e, t) {
            return (f = Object.setPrototypeOf || function(e, t) {
                return e.__proto__ = t, e
            })(e, t)
        }
        var y = function(e) {
            function t(e) {
                var n;
                return function(e, t) {
                    if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function")
                }(this, t), (n = l(this, p(t).call(this, e, r.u)))._hex = null, n.style = s.a.meta, n._quantifiable = !0, n._length = 1, n
            }
            var n, i, c;
            return function(e, t) {
                if ("function" !== typeof t && null !== t) throw new TypeError("Super expression must either be null or a function");
                e.prototype = Object.create(t && t.prototype, {
                    constructor: {
                        value: e,
                        writable: !0,
                        configurable: !0
                    }
                }), t && f(e, t)
            }(t, a["a"]), n = t, (i = [{
                key: "parseComplete",
                value: function() {
                    this._setValues(), "{" === this._string.charAt(2) && "}" !== this._string.slice(-1) ? this.error = o.n : parseInt(this._hex, 16) > parseInt("0x10ffff", 16) && (this.error = o.j, this._charCode = null)
                }
            }, {
                key: "_setValues",
                value: function() {
                    this._hex = this._string.slice(2).replace(/[{}]/g, "") || "00", this._charCode = parseInt(this._hex, 16)
                }
            }]) && u(n.prototype, i), c && u(n, c), t
        }();
        t.a = y
    },
    "./app/js/parsers/Tokens/InlineModifiers.js": function(e, t, n) {
        "use strict";
        var r = n("./node_modules/lodash/lodash.js"),
            o = n.n(r),
            a = n("./app/js/constants/RegexTypes.js"),
            i = n("./app/js/constants/RegexErrors.js"),
            s = n("./app/js/parsers/Tokens/Token.js"),
            c = n("./app/js/parsers/Tokens/tokenStyles.css"),
            u = n.n(c);

        function l(e) {
            return (l = "function" === typeof Symbol && "symbol" === typeof Symbol.iterator ? function(e) {
                return typeof e
            } : function(e) {
                return e && "function" === typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e
            })(e)
        }

        function p(e, t) {
            for (var n = 0; n < t.length; n++) {
                var r = t[n];
                r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(e, r.key, r)
            }
        }

        function f(e, t) {
            return !t || "object" !== l(t) && "function" !== typeof t ? function(e) {
                if (void 0 === e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
                return e
            }(e) : t
        }

        function y(e) {
            return (y = Object.setPrototypeOf ? Object.getPrototypeOf : function(e) {
                return e.__proto__ || Object.getPrototypeOf(e)
            })(e)
        }

        function b(e, t) {
            return (b = Object.setPrototypeOf || function(e, t) {
                return e.__proto__ = t, e
            })(e, t)
        }
        var h = function(e) {
            function t(e) {
                var n;
                return function(e, t) {
                    if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function")
                }(this, t), (n = f(this, y(t).call(this, e, a.v)))._flags = null, n._rawFlags = null, n.style = u.a.inline_modifiers, n
            }
            var n, r, c;
            return function(e, t) {
                if ("function" !== typeof t && null !== t) throw new TypeError("Super expression must either be null or a function");
                e.prototype = Object.create(t && t.prototype, {
                    constructor: {
                        value: e,
                        writable: !0,
                        configurable: !0
                    }
                }), t && b(e, t)
            }(t, s["a"]), n = t, (r = [{
                key: "parseComplete",
                value: function() {
                    this._rawFlags = this._string.replace(/[^a-z-]/gi, "");
                    var e = this._rawFlags.indexOf("-"),
                        t = -1 === e ? this._rawFlags : this._rawFlags.slice(0, e),
                        n = -1 !== e ? this._rawFlags.slice(e + 1) : "";
                    this._flags = o.a.uniq(this._state.flags + t).join("").replace(new RegExp("".concat(n.split("").join("|")), "g"), ""), "(?)" === this._string && (this.error = i.n)
                }
            }, {
                key: "_getNextState",
                value: function(e) {
                    return e.flags = this._flags, e
                }
            }, {
                key: "flags",
                get: function() {
                    return this._flags
                }
            }, {
                key: "rawFlags",
                get: function() {
                    return this._rawFlags
                }
            }]) && p(n.prototype, r), c && p(n, c), t
        }();
        t.a = h
    },
    "./app/js/parsers/Tokens/Javascript/BinaryZero.js": function(e, t, n) {
        "use strict";
        var r = n("./app/js/constants/RegexErrors.js"),
            o = n("./app/js/parsers/Tokens/OctalEscape.js");

        function a(e) {
            return (a = "function" === typeof Symbol && "symbol" === typeof Symbol.iterator ? function(e) {
                return typeof e
            } : function(e) {
                return e && "function" === typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e
            })(e)
        }

        function i(e, t) {
            return !t || "object" !== a(t) && "function" !== typeof t ? function(e) {
                if (void 0 === e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
                return e
            }(e) : t
        }

        function s(e) {
            return (s = Object.setPrototypeOf ? Object.getPrototypeOf : function(e) {
                return e.__proto__ || Object.getPrototypeOf(e)
            })(e)
        }

        function c(e, t) {
            return (c = Object.setPrototypeOf || function(e, t) {
                return e.__proto__ = t, e
            })(e, t)
        }
        var u = function(e) {
            function t(e) {
                var n, o = arguments.length > 1 && void 0 !== arguments[1] && arguments[1];
                return function(e, t) {
                    if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function")
                }(this, t), n = i(this, s(t).call(this, e)), o && (n.error = r.s), n
            }
            return function(e, t) {
                if ("function" !== typeof t && null !== t) throw new TypeError("Super expression must either be null or a function");
                e.prototype = Object.create(t && t.prototype, {
                    constructor: {
                        value: e,
                        writable: !0,
                        configurable: !0
                    }
                }), t && c(e, t)
            }(t, o["a"]), t
        }();
        t.a = u
    },
    "./app/js/parsers/Tokens/Javascript/HexEscape.js": function(e, t, n) {
        "use strict";
        var r = n("./app/js/constants/RegexErrors.js"),
            o = n("./app/js/parsers/Tokens/HexEscape.js");

        function a(e) {
            return (a = "function" === typeof Symbol && "symbol" === typeof Symbol.iterator ? function(e) {
                return typeof e
            } : function(e) {
                return e && "function" === typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e
            })(e)
        }

        function i(e, t) {
            for (var n = 0; n < t.length; n++) {
                var r = t[n];
                r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(e, r.key, r)
            }
        }

        function s(e, t) {
            return !t || "object" !== a(t) && "function" !== typeof t ? function(e) {
                if (void 0 === e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
                return e
            }(e) : t
        }

        function c(e) {
            return (c = Object.setPrototypeOf ? Object.getPrototypeOf : function(e) {
                return e.__proto__ || Object.getPrototypeOf(e)
            })(e)
        }

        function u(e, t) {
            return (u = Object.setPrototypeOf || function(e, t) {
                return e.__proto__ = t, e
            })(e, t)
        }
        var l = function(e) {
            function t(e) {
                var n, r = arguments.length > 1 && void 0 !== arguments[1] && arguments[1];
                return function(e, t) {
                    if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function")
                }(this, t), (n = s(this, c(t).call(this, e)))._substitutionMode = null, n._substitutionMode = r, n
            }
            var n, a, l;
            return function(e, t) {
                if ("function" !== typeof t && null !== t) throw new TypeError("Super expression must either be null or a function");
                e.prototype = Object.create(t && t.prototype, {
                    constructor: {
                        value: e,
                        writable: !0,
                        configurable: !0
                    }
                }), t && u(e, t)
            }(t, o["a"]), n = t, (a = [{
                key: "parseComplete",
                value: function() {
                    o.a.prototype.parseComplete.call(this), "\\x" === this._string ? this.error = r.n : this._substitutionMode && !/^\\x..$/.test(this._string) && (this.error = r.n)
                }
            }]) && i(n.prototype, a), l && i(n, l), t
        }();
        t.a = l
    },
    "./app/js/parsers/Tokens/LookaheadToken.js": function(e, t, n) {
        "use strict";
        var r = n("./app/js/parsers/Tokens/LookaroundToken.js");

        function o(e) {
            return (o = "function" === typeof Symbol && "symbol" === typeof Symbol.iterator ? function(e) {
                return typeof e
            } : function(e) {
                return e && "function" === typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e
            })(e)
        }

        function a(e, t) {
            for (var n = 0; n < t.length; n++) {
                var r = t[n];
                r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(e, r.key, r)
            }
        }

        function i(e, t) {
            return !t || "object" !== o(t) && "function" !== typeof t ? function(e) {
                if (void 0 === e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
                return e
            }(e) : t
        }

        function s(e) {
            return (s = Object.setPrototypeOf ? Object.getPrototypeOf : function(e) {
                return e.__proto__ || Object.getPrototypeOf(e)
            })(e)
        }

        function c(e, t) {
            return (c = Object.setPrototypeOf || function(e, t) {
                return e.__proto__ = t, e
            })(e, t)
        }
        var u = function(e) {
            function t() {
                return function(e, t) {
                    if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function")
                }(this, t), i(this, s(t).apply(this, arguments))
            }
            var n, o, u;
            return function(e, t) {
                if ("function" !== typeof t && null !== t) throw new TypeError("Super expression must either be null or a function");
                e.prototype = Object.create(t && t.prototype, {
                    constructor: {
                        value: e,
                        writable: !0,
                        configurable: !0
                    }
                }), t && c(e, t)
            }(t, r["a"]), n = t, (o = [{
                key: "_getNextState",
                value: function(e) {
                    return e.lookbehindCount = 0, r.a.prototype._getNextState.call(this, e)
                }
            }]) && a(n.prototype, o), u && a(n, u), t
        }();
        t.a = u
    },
    "./app/js/parsers/Tokens/LookaroundToken.js": function(e, t, n) {
        "use strict";
        var r = n("./app/js/parsers/Tokens/GroupToken.js");

        function o(e) {
            return (o = "function" === typeof Symbol && "symbol" === typeof Symbol.iterator ? function(e) {
                return typeof e
            } : function(e) {
                return e && "function" === typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e
            })(e)
        }

        function a(e, t) {
            for (var n = 0; n < t.length; n++) {
                var r = t[n];
                r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(e, r.key, r)
            }
        }

        function i(e, t) {
            return !t || "object" !== o(t) && "function" !== typeof t ? function(e) {
                if (void 0 === e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
                return e
            }(e) : t
        }

        function s(e) {
            return (s = Object.setPrototypeOf ? Object.getPrototypeOf : function(e) {
                return e.__proto__ || Object.getPrototypeOf(e)
            })(e)
        }

        function c(e, t) {
            return (c = Object.setPrototypeOf || function(e, t) {
                return e.__proto__ = t, e
            })(e, t)
        }
        var u = function(e) {
            function t(e, n) {
                var r;
                return function(e, t) {
                    if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function")
                }(this, t), (r = i(this, s(t).call(this, e, n)))._isCondition = null, r._isCondition = !1, r._willBeQuantifiable = !0, r
            }
            var n, o, u;
            return function(e, t) {
                if ("function" !== typeof t && null !== t) throw new TypeError("Super expression must either be null or a function");
                e.prototype = Object.create(t && t.prototype, {
                    constructor: {
                        value: e,
                        writable: !0,
                        configurable: !0
                    }
                }), t && c(e, t)
            }(t, r["a"]), n = t, (o = [{
                key: "_getNextState",
                value: function(e) {
                    return this._state.expectingCondition && (this._state.previousToken.condition = this, e.expectingCondition = !1, this._isCondition = !0), r.a.prototype._getNextState.call(this, e)
                }
            }, {
                key: "isCondition",
                get: function() {
                    return this._isCondition
                }
            }]) && a(n.prototype, o), u && a(n, u), t
        }();
        t.a = u
    },
    "./app/js/parsers/Tokens/LookbehindToken.js": function(e, t, n) {
        "use strict";
        var r = n("./app/js/constants/RegexTypes.js"),
            o = n("./app/js/constants/RegexErrors.js"),
            a = n("./app/js/constants/Flavors.js"),
            i = n.n(a),
            s = n("./app/js/parsers/Tokens/LookaroundToken.js");

        function c(e) {
            return (c = "function" === typeof Symbol && "symbol" === typeof Symbol.iterator ? function(e) {
                return typeof e
            } : function(e) {
                return e && "function" === typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e
            })(e)
        }

        function u(e, t) {
            for (var n = 0; n < t.length; n++) {
                var r = t[n];
                r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(e, r.key, r)
            }
        }

        function l(e, t) {
            return !t || "object" !== c(t) && "function" !== typeof t ? function(e) {
                if (void 0 === e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
                return e
            }(e) : t
        }

        function p(e) {
            return (p = Object.setPrototypeOf ? Object.getPrototypeOf : function(e) {
                return e.__proto__ || Object.getPrototypeOf(e)
            })(e)
        }

        function f(e, t) {
            return (f = Object.setPrototypeOf || function(e, t) {
                return e.__proto__ = t, e
            })(e, t)
        }
        var y = function(e) {
            function t() {
                return function(e, t) {
                    if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function")
                }(this, t), l(this, p(t).apply(this, arguments))
            }
            var n, a, c;
            return function(e, t) {
                if ("function" !== typeof t && null !== t) throw new TypeError("Super expression must either be null or a function");
                e.prototype = Object.create(t && t.prototype, {
                    constructor: {
                        value: e,
                        writable: !0,
                        configurable: !0
                    }
                }), t && f(e, t)
            }(t, s["a"]), n = t, (a = [{
                key: "_getNextState",
                value: function(e) {
                    return e.lookbehinds.push(this), e.lookbehindCount++, s.a.prototype._getNextState.call(this, e)
                }
            }, {
                key: "_revalidate",
                value: function() {
                    if (!this._closeGroup) return this.error = o.l, !0;
                    var e = {
                        foundError: !1
                    };
                    if (this._state.flavor === i.a.PYTHON) this._ensureFixedWidth(this._children, e);
                    else if (this._state.flavor !== i.a.JAVASCRIPT)
                        for (var t = 0, n = this._children.length; t < n; t++) this._ensureFixedWidth(this._children[t]._children, e);
                    return e.foundError
                }
            }, {
                key: "_ensureFixedWidth",
                value: function(e, t) {
                    for (var n = null, a = 0, i = 0, s = e.length; i < s; i++) {
                        var c = e[i];
                        if (c.type === r.a) {
                            var u = this._ensureFixedWidth(c._children, t);
                            null == n ? (n = u, a += u) : n !== u && (c._parent.error = o.x, t.foundError = !0)
                        } else if (Object(r.bb)(c.type) && !Object(r.cb)(c.type)) {
                            var l = this._ensureFixedWidth(c._children, t),
                                p = e[i + 1];
                            p && p.type === r.R && (l *= p.length, i += p.quantifier ? 2 : 1), a += l
                        } else a += c.length
                    }
                    return a
                }
            }]) && u(n.prototype, a), c && u(n, c), t
        }();
        t.a = y
    },
    "./app/js/parsers/Tokens/MetaEscape.js": function(e, t, n) {
        "use strict";
        var r = n("./app/js/constants/RegexTypes.js"),
            o = n("./app/js/constants/RegexErrors.js"),
            a = n("./app/js/parsers/Tokens/Token.js"),
            i = n("./app/js/parsers/Tokens/tokenStyles.css"),
            s = n.n(i);

        function c(e) {
            return (c = "function" === typeof Symbol && "symbol" === typeof Symbol.iterator ? function(e) {
                return typeof e
            } : function(e) {
                return e && "function" === typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e
            })(e)
        }

        function u(e, t) {
            for (var n = 0; n < t.length; n++) {
                var r = t[n];
                r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(e, r.key, r)
            }
        }

        function l(e, t) {
            return !t || "object" !== c(t) && "function" !== typeof t ? function(e) {
                if (void 0 === e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
                return e
            }(e) : t
        }

        function p(e) {
            return (p = Object.setPrototypeOf ? Object.getPrototypeOf : function(e) {
                return e.__proto__ || Object.getPrototypeOf(e)
            })(e)
        }

        function f(e, t) {
            return (f = Object.setPrototypeOf || function(e, t) {
                return e.__proto__ = t, e
            })(e, t)
        }
        var y = /^(?:\\[zZbBAGK]|[$^])$/,
            b = function(e) {
                function t(e) {
                    var n;
                    return function(e, t) {
                        if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function")
                    }(this, t), (n = l(this, p(t).call(this, e, r.B))).style = s.a.meta, n
                }
                var n, i, c;
                return function(e, t) {
                    if ("function" !== typeof t && null !== t) throw new TypeError("Super expression must either be null or a function");
                    e.prototype = Object.create(t && t.prototype, {
                        constructor: {
                            value: e,
                            writable: !0,
                            configurable: !0
                        }
                    }), t && f(e, t)
                }(t, a["a"]), n = t, (i = [{
                    key: "parseComplete",
                    value: function() {
                        switch (this._quantifiable = !y.test(this._string), this.quantifier || y.test(this._string) || (this._length = 1), this._state.lookbehindCount > 0 && ("\\X" === this._string || "\\R" === this._string) && (this.error = o.I), this._string) {
                            case "\\a":
                                this._charCode = 7;
                                break;
                            case "\\b":
                                this._charCode = 8;
                                break;
                            case "\\f":
                                this._charCode = 12;
                                break;
                            case "\\n":
                                this._charCode = 10;
                                break;
                            case "\\r":
                                this._charCode = 13;
                                break;
                            case "\\t":
                                this._charCode = 9;
                                break;
                            case "\\e":
                                this._charCode = 27;
                                break;
                            default:
                                this._charCode = null
                        }
                    }
                }]) && u(n.prototype, i), c && u(n, c), t
            }();
        t.a = b
    },
    "./app/js/parsers/Tokens/ModifierGroup.js": function(e, t, n) {
        "use strict";
        var r = n("./node_modules/lodash/lodash.js"),
            o = n.n(r),
            a = n("./app/js/constants/RegexTypes.js"),
            i = n("./app/js/parsers/Tokens/GroupToken.js");

        function s(e) {
            return (s = "function" === typeof Symbol && "symbol" === typeof Symbol.iterator ? function(e) {
                return typeof e
            } : function(e) {
                return e && "function" === typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e
            })(e)
        }

        function c(e, t) {
            for (var n = 0; n < t.length; n++) {
                var r = t[n];
                r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(e, r.key, r)
            }
        }

        function u(e, t) {
            return !t || "object" !== s(t) && "function" !== typeof t ? function(e) {
                if (void 0 === e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
                return e
            }(e) : t
        }

        function l(e) {
            return (l = Object.setPrototypeOf ? Object.getPrototypeOf : function(e) {
                return e.__proto__ || Object.getPrototypeOf(e)
            })(e)
        }

        function p(e, t) {
            return (p = Object.setPrototypeOf || function(e, t) {
                return e.__proto__ = t, e
            })(e, t)
        }
        var f = function(e) {
            function t(e) {
                var n;
                return function(e, t) {
                    if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function")
                }(this, t), (n = u(this, l(t).call(this, e, a.C, !0)))._flags = null, n._rawFlags = null, n._previousFlags = null, n
            }
            var n, r, s;
            return function(e, t) {
                if ("function" !== typeof t && null !== t) throw new TypeError("Super expression must either be null or a function");
                e.prototype = Object.create(t && t.prototype, {
                    constructor: {
                        value: e,
                        writable: !0,
                        configurable: !0
                    }
                }), t && p(e, t)
            }(t, i["a"]), n = t, (r = [{
                key: "parseComplete",
                value: function() {
                    this._previousFlags = this._state.flags, this._rawFlags = this._string.replace(/[^a-z-]/gi, "");
                    var e = this._rawFlags.indexOf("-"),
                        t = -1 === e ? this._rawFlags : this._rawFlags.slice(0, e),
                        n = -1 !== e ? this._rawFlags.slice(e + 1) : "";
                    this._flags = o.a.uniq(this._previousFlags + t).join("").replace(new RegExp("".concat(n.split("").join("|")), "g"), "")
                }
            }, {
                key: "_getNextState",
                value: function(e) {
                    return e.flags = this._flags, i.a.prototype._getNextState.call(this, e)
                }
            }, {
                key: "flags",
                get: function() {
                    return this._flags
                }
            }, {
                key: "rawFlags",
                get: function() {
                    return this._rawFlags
                }
            }, {
                key: "previousFlags",
                get: function() {
                    return this._previousFlags
                }
            }]) && c(n.prototype, r), s && c(n, s), t
        }();
        t.a = f
    },
    "./app/js/parsers/Tokens/NamedBackreference.js": function(e, t, n) {
        "use strict";
        var r = n("./app/js/constants/RegexTypes.js"),
            o = n("./app/js/constants/RegexErrors.js"),
            a = n("./app/js/parsers/Tokens/ReferenceToken.js"),
            i = n("./app/js/parsers/Tokens/tokenStyles.css"),
            s = n.n(i);

        function c(e) {
            return (c = "function" === typeof Symbol && "symbol" === typeof Symbol.iterator ? function(e) {
                return typeof e
            } : function(e) {
                return e && "function" === typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e
            })(e)
        }

        function u(e, t) {
            for (var n = 0; n < t.length; n++) {
                var r = t[n];
                r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(e, r.key, r)
            }
        }

        function l(e, t) {
            return !t || "object" !== c(t) && "function" !== typeof t ? function(e) {
                if (void 0 === e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
                return e
            }(e) : t
        }

        function p(e) {
            return (p = Object.setPrototypeOf ? Object.getPrototypeOf : function(e) {
                return e.__proto__ || Object.getPrototypeOf(e)
            })(e)
        }

        function f(e, t) {
            return (f = Object.setPrototypeOf || function(e, t) {
                return e.__proto__ = t, e
            })(e, t)
        }
        var y = function(e) {
            function t(e) {
                var n;
                return function(e, t) {
                    if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function")
                }(this, t), (n = l(this, p(t).call(this, e, r.D))).style = s.a.backreference, n
            }
            var n, i, c;
            return function(e, t) {
                if ("function" !== typeof t && null !== t) throw new TypeError("Super expression must either be null or a function");
                e.prototype = Object.create(t && t.prototype, {
                    constructor: {
                        value: e,
                        writable: !0,
                        configurable: !0
                    }
                }), t && f(e, t)
            }(t, a["a"]), n = t, (i = [{
                key: "_revalidate",
                value: function(e) {
                    var t = this._string.replace(/^(?:\(\?P=|\\[kg])|\W/g, "");
                    return t ? -1 === e.subpatterns.indexOf(t) && (this.error = o.u) : this.error = o.n, this._reference = t, !!this.error
                }
            }]) && u(n.prototype, i), c && u(n, c), t
        }();
        t.a = y
    },
    "./app/js/parsers/Tokens/NamedCapturingGroup.js": function(e, t, n) {
        "use strict";
        var r = n("./app/js/constants/RegexTypes.js"),
            o = n("./app/js/constants/RegexErrors.js"),
            a = n("./app/js/parsers/Tokens/GroupToken.js");

        function i(e) {
            return (i = "function" === typeof Symbol && "symbol" === typeof Symbol.iterator ? function(e) {
                return typeof e
            } : function(e) {
                return e && "function" === typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e
            })(e)
        }

        function s(e, t) {
            for (var n = 0; n < t.length; n++) {
                var r = t[n];
                r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(e, r.key, r)
            }
        }

        function c(e, t) {
            return !t || "object" !== i(t) && "function" !== typeof t ? function(e) {
                if (void 0 === e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
                return e
            }(e) : t
        }

        function u(e) {
            return (u = Object.setPrototypeOf ? Object.getPrototypeOf : function(e) {
                return e.__proto__ || Object.getPrototypeOf(e)
            })(e)
        }

        function l(e, t) {
            return (l = Object.setPrototypeOf || function(e, t) {
                return e.__proto__ = t, e
            })(e, t)
        }
        var p = function(e) {
            function t(e) {
                var n;
                return function(e, t) {
                    if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function")
                }(this, t), (n = c(this, u(t).call(this, e, r.E, !0)))._groupNumber = null, n._subpattern = null, n._groupNumber = e.captureGroupCount + 1, n
            }
            var n, i, p;
            return function(e, t) {
                if ("function" !== typeof t && null !== t) throw new TypeError("Super expression must either be null or a function");
                e.prototype = Object.create(t && t.prototype, {
                    constructor: {
                        value: e,
                        writable: !0,
                        configurable: !0
                    }
                }), t && l(e, t)
            }(t, a["a"]), n = t, (i = [{
                key: "parseComplete",
                value: function() {
                    if (this._subpattern = this._string.replace("(?P", "").match(/\w+/)[0], this._subpattern.length > 32 && (this.error = o.J), /^\d$/.test(this._subpattern.charAt(0)) && (this.error = o.c), this._state.inDuplicateSubpatternGroup) {
                        var e = this._state.captureGroupCount + 1;
                        if ("string" === typeof this._state.captureGroupMap[e]) return void(this._state.captureGroupMap[e] !== this._subpattern && (this.error = o.f));
                        if ("number" === typeof this._state.captureGroupMap[e]) return void(this.error = o.f)
                    } - 1 !== this._state.subpatterns.indexOf(this._subpattern) && -1 === this._state.flags.indexOf("J") && (this.error = o.g)
                }
            }, {
                key: "_getNextState",
                value: function(e) {
                    return this._state.inDEFINE && e.definedSubpatterns.push(this._state.captureGroupCount), e.subpatterns.push(this._subpattern), e.captureGroupCount++, e.captureGroupMap[e.captureGroupCount] = this._subpattern, e.captureGroupMap[this._subpattern] = e.captureGroupCount, a.a.prototype._getNextState.call(this, e)
                }
            }, {
                key: "groupNumber",
                get: function() {
                    return this._groupNumber
                }
            }, {
                key: "subpattern",
                get: function() {
                    return this._subpattern
                }
            }]) && s(n.prototype, i), p && s(n, p), t
        }();
        t.a = p
    },
    "./app/js/parsers/Tokens/NegativeLookahead.js": function(e, t, n) {
        "use strict";
        var r = n("./app/js/constants/RegexTypes.js"),
            o = n("./app/js/parsers/Tokens/LookaheadToken.js");

        function a(e) {
            return (a = "function" === typeof Symbol && "symbol" === typeof Symbol.iterator ? function(e) {
                return typeof e
            } : function(e) {
                return e && "function" === typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e
            })(e)
        }

        function i(e, t) {
            return !t || "object" !== a(t) && "function" !== typeof t ? function(e) {
                if (void 0 === e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
                return e
            }(e) : t
        }

        function s(e) {
            return (s = Object.setPrototypeOf ? Object.getPrototypeOf : function(e) {
                return e.__proto__ || Object.getPrototypeOf(e)
            })(e)
        }

        function c(e, t) {
            return (c = Object.setPrototypeOf || function(e, t) {
                return e.__proto__ = t, e
            })(e, t)
        }
        var u = function(e) {
            function t(e) {
                return function(e, t) {
                    if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function")
                }(this, t), i(this, s(t).call(this, e, r.F))
            }
            return function(e, t) {
                if ("function" !== typeof t && null !== t) throw new TypeError("Super expression must either be null or a function");
                e.prototype = Object.create(t && t.prototype, {
                    constructor: {
                        value: e,
                        writable: !0,
                        configurable: !0
                    }
                }), t && c(e, t)
            }(t, o["a"]), t
        }();
        t.a = u
    },
    "./app/js/parsers/Tokens/NegativeLookbehind.js": function(e, t, n) {
        "use strict";
        var r = n("./app/js/constants/RegexTypes.js"),
            o = n("./app/js/parsers/Tokens/LookbehindToken.js");

        function a(e) {
            return (a = "function" === typeof Symbol && "symbol" === typeof Symbol.iterator ? function(e) {
                return typeof e
            } : function(e) {
                return e && "function" === typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e
            })(e)
        }

        function i(e, t) {
            return !t || "object" !== a(t) && "function" !== typeof t ? function(e) {
                if (void 0 === e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
                return e
            }(e) : t
        }

        function s(e) {
            return (s = Object.setPrototypeOf ? Object.getPrototypeOf : function(e) {
                return e.__proto__ || Object.getPrototypeOf(e)
            })(e)
        }

        function c(e, t) {
            return (c = Object.setPrototypeOf || function(e, t) {
                return e.__proto__ = t, e
            })(e, t)
        }
        var u = function(e) {
            function t(e) {
                return function(e, t) {
                    if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function")
                }(this, t), i(this, s(t).call(this, e, r.G))
            }
            return function(e, t) {
                if ("function" !== typeof t && null !== t) throw new TypeError("Super expression must either be null or a function");
                e.prototype = Object.create(t && t.prototype, {
                    constructor: {
                        value: e,
                        writable: !0,
                        configurable: !0
                    }
                }), t && c(e, t)
            }(t, o["a"]), t
        }();
        t.a = u
    },
    "./app/js/parsers/Tokens/NonCapturingGroup.js": function(e, t, n) {
        "use strict";
        var r = n("./app/js/constants/RegexTypes.js"),
            o = n("./app/js/parsers/Tokens/GroupToken.js");

        function a(e) {
            return (a = "function" === typeof Symbol && "symbol" === typeof Symbol.iterator ? function(e) {
                return typeof e
            } : function(e) {
                return e && "function" === typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e
            })(e)
        }

        function i(e, t) {
            return !t || "object" !== a(t) && "function" !== typeof t ? function(e) {
                if (void 0 === e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
                return e
            }(e) : t
        }

        function s(e) {
            return (s = Object.setPrototypeOf ? Object.getPrototypeOf : function(e) {
                return e.__proto__ || Object.getPrototypeOf(e)
            })(e)
        }

        function c(e, t) {
            return (c = Object.setPrototypeOf || function(e, t) {
                return e.__proto__ = t, e
            })(e, t)
        }
        var u = function(e) {
            function t(e) {
                return function(e, t) {
                    if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function")
                }(this, t), i(this, s(t).call(this, e, r.H, !0))
            }
            return function(e, t) {
                if ("function" !== typeof t && null !== t) throw new TypeError("Super expression must either be null or a function");
                e.prototype = Object.create(t && t.prototype, {
                    constructor: {
                        value: e,
                        writable: !0,
                        configurable: !0
                    }
                }), t && c(e, t)
            }(t, o["a"]), t
        }();
        t.a = u
    },
    "./app/js/parsers/Tokens/NumericBackreference.js": function(e, t, n) {
        "use strict";
        var r = n("./app/js/constants/RegexTypes.js"),
            o = n("./app/js/constants/RegexErrors.js"),
            a = n("./app/js/parsers/Tokens/ReferenceToken.js"),
            i = n("./app/js/parsers/Tokens/tokenStyles.css"),
            s = n.n(i);

        function c(e) {
            return (c = "function" === typeof Symbol && "symbol" === typeof Symbol.iterator ? function(e) {
                return typeof e
            } : function(e) {
                return e && "function" === typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e
            })(e)
        }

        function u(e, t) {
            for (var n = 0; n < t.length; n++) {
                var r = t[n];
                r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(e, r.key, r)
            }
        }

        function l(e, t) {
            return !t || "object" !== c(t) && "function" !== typeof t ? function(e) {
                if (void 0 === e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
                return e
            }(e) : t
        }

        function p(e) {
            return (p = Object.setPrototypeOf ? Object.getPrototypeOf : function(e) {
                return e.__proto__ || Object.getPrototypeOf(e)
            })(e)
        }

        function f(e, t) {
            return (f = Object.setPrototypeOf || function(e, t) {
                return e.__proto__ = t, e
            })(e, t)
        }
        var y = function(e) {
            function t(e) {
                var n, o = arguments.length > 1 && void 0 !== arguments[1] && arguments[1];
                return function(e, t) {
                    if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function")
                }(this, t), (n = l(this, p(t).call(this, e, r.I))).style = s.a.backreference, n._allowZeroRef = o, n
            }
            var n, i, c;
            return function(e, t) {
                if ("function" !== typeof t && null !== t) throw new TypeError("Super expression must either be null or a function");
                e.prototype = Object.create(t && t.prototype, {
                    constructor: {
                        value: e,
                        writable: !0,
                        configurable: !0
                    }
                }), t && f(e, t)
            }(t, a["a"]), n = t, (i = [{
                key: "_revalidate",
                value: function(e) {
                    if (!this.error) {
                        var t = this._string.replace(/\D/g, "");
                        if (this._allowZeroRef && "0" === t) return this._reference = 0, !1;
                        var n = null;
                        return t ? ((n = -1 !== this._string.indexOf("-") ? this._state.captureGroupCount - parseInt(t, 10) + 1 : parseInt(t, 10)) > e.captureGroupCount || n < 1) && (this.error = o.u) : this.error = o.n, this._reference = n, !!this.error
                    }
                }
            }]) && u(n.prototype, i), c && u(n, c), t
        }();
        t.a = y
    },
    "./app/js/parsers/Tokens/OctalEscape.js": function(e, t, n) {
        "use strict";
        var r = n("./app/js/constants/RegexTypes.js"),
            o = n("./app/js/parsers/Tokens/Token.js"),
            a = n("./app/js/parsers/Tokens/tokenStyles.css"),
            i = n.n(a);

        function s(e) {
            return (s = "function" === typeof Symbol && "symbol" === typeof Symbol.iterator ? function(e) {
                return typeof e
            } : function(e) {
                return e && "function" === typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e
            })(e)
        }

        function c(e, t) {
            for (var n = 0; n < t.length; n++) {
                var r = t[n];
                r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(e, r.key, r)
            }
        }

        function u(e, t) {
            return !t || "object" !== s(t) && "function" !== typeof t ? function(e) {
                if (void 0 === e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
                return e
            }(e) : t
        }

        function l(e) {
            return (l = Object.setPrototypeOf ? Object.getPrototypeOf : function(e) {
                return e.__proto__ || Object.getPrototypeOf(e)
            })(e)
        }

        function p(e, t) {
            return (p = Object.setPrototypeOf || function(e, t) {
                return e.__proto__ = t, e
            })(e, t)
        }
        var f = function(e) {
            function t(e) {
                var n;
                return function(e, t) {
                    if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function")
                }(this, t), (n = u(this, l(t).call(this, e, r.J))).style = i.a.meta, n._quantifiable = !0, n._length = 1, n
            }
            var n, a, s;
            return function(e, t) {
                if ("function" !== typeof t && null !== t) throw new TypeError("Super expression must either be null or a function");
                e.prototype = Object.create(t && t.prototype, {
                    constructor: {
                        value: e,
                        writable: !0,
                        configurable: !0
                    }
                }), t && p(e, t)
            }(t, o["a"]), n = t, (a = [{
                key: "parseComplete",
                value: function() {
                    this._charCode = parseInt(this._string.replace(/\D/g, ""), 8) || 0
                }
            }]) && c(n.prototype, a), s && c(n, s), t
        }();
        t.a = f
    },
    "./app/js/parsers/Tokens/OpenCharClass.js": function(e, t, n) {
        "use strict";
        var r = n("./app/js/constants/RegexTypes.js"),
            o = n("./app/js/constants/RegexErrors.js"),
            a = n("./app/js/parsers/Tokens/Token.js"),
            i = n("./app/js/parsers/Tokens/tokenStyles.css"),
            s = n.n(i);

        function c(e) {
            return (c = "function" === typeof Symbol && "symbol" === typeof Symbol.iterator ? function(e) {
                return typeof e
            } : function(e) {
                return e && "function" === typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e
            })(e)
        }

        function u(e, t) {
            for (var n = 0; n < t.length; n++) {
                var r = t[n];
                r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(e, r.key, r)
            }
        }

        function l(e, t) {
            return !t || "object" !== c(t) && "function" !== typeof t ? function(e) {
                if (void 0 === e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
                return e
            }(e) : t
        }

        function p(e) {
            return (p = Object.setPrototypeOf ? Object.getPrototypeOf : function(e) {
                return e.__proto__ || Object.getPrototypeOf(e)
            })(e)
        }

        function f(e, t) {
            return (f = Object.setPrototypeOf || function(e, t) {
                return e.__proto__ = t, e
            })(e, t)
        }
        var y = function(e) {
            function t(e) {
                var n;
                return function(e, t) {
                    if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function")
                }(this, t), (n = l(this, p(t).call(this, e, r.K)))._closeCharClass = null, n.style = [s.a.charclass, s.a.meta], n._quantifiable = !0, n._length = 1, n
            }
            var n, i, c;
            return function(e, t) {
                if ("function" !== typeof t && null !== t) throw new TypeError("Super expression must either be null or a function");
                e.prototype = Object.create(t && t.prototype, {
                    constructor: {
                        value: e,
                        writable: !0,
                        configurable: !0
                    }
                }), t && f(e, t)
            }(t, a["a"]), n = t, (i = [{
                key: "_getNextState",
                value: function(e) {
                    return e.inCharClass = !0, e.charClasses.push(this), e.parents.push(this), e
                }
            }, {
                key: "_revalidate",
                value: function() {
                    return this.error = o.k, !0
                }
            }, {
                key: "tooltipMarkerRange",
                get: function() {
                    return {
                        primary: {
                            start: {
                                pos: this._editorPosition.start.pos,
                                line: this._editorPosition.start.line
                            },
                            end: {
                                pos: (this._closeCharClass || this)._editorPosition.end.pos,
                                line: (this._closeCharClass || this)._editorPosition.end.line
                            }
                        }
                    }
                }
            }]) && u(n.prototype, i), c && u(n, c), t
        }();
        t.a = y
    },
    "./app/js/parsers/Tokens/OpenQuote.js": function(e, t, n) {
        "use strict";
        var r = n("./app/js/constants/RegexTypes.js"),
            o = n("./app/js/parsers/Tokens/Token.js"),
            a = n("./app/js/parsers/Tokens/tokenStyles.css"),
            i = n.n(a);

        function s(e) {
            return (s = "function" === typeof Symbol && "symbol" === typeof Symbol.iterator ? function(e) {
                return typeof e
            } : function(e) {
                return e && "function" === typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e
            })(e)
        }

        function c(e, t) {
            for (var n = 0; n < t.length; n++) {
                var r = t[n];
                r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(e, r.key, r)
            }
        }

        function u(e, t) {
            return !t || "object" !== s(t) && "function" !== typeof t ? function(e) {
                if (void 0 === e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
                return e
            }(e) : t
        }

        function l(e) {
            return (l = Object.setPrototypeOf ? Object.getPrototypeOf : function(e) {
                return e.__proto__ || Object.getPrototypeOf(e)
            })(e)
        }

        function p(e, t) {
            return (p = Object.setPrototypeOf || function(e, t) {
                return e.__proto__ = t, e
            })(e, t)
        }
        var f = function(e) {
            function t(e) {
                var n;
                return function(e, t) {
                    if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function")
                }(this, t), (n = u(this, l(t).call(this, e, r.L))).style = i.a.meta, n.previousToken && (n._charCode = n.previousToken.charCode), n
            }
            var n, a, s;
            return function(e, t) {
                if ("function" !== typeof t && null !== t) throw new TypeError("Super expression must either be null or a function");
                e.prototype = Object.create(t && t.prototype, {
                    constructor: {
                        value: e,
                        writable: !0,
                        configurable: !0
                    }
                }), t && p(e, t)
            }(t, o["a"]), n = t, (a = [{
                key: "_getNextState",
                value: function(e) {
                    return e.inQuote = !0, e.parents.push(this), e.previousToken = this.previousToken, e
                }
            }]) && c(n.prototype, a), s && c(n, s), t
        }();
        t.a = f
    },
    "./app/js/parsers/Tokens/PlainText.js": function(e, t, n) {
        "use strict";
        var r = n("./app/js/constants/RegexTypes.js"),
            o = n("./app/js/parsers/Tokens/Token.js");

        function a(e) {
            return (a = "function" === typeof Symbol && "symbol" === typeof Symbol.iterator ? function(e) {
                return typeof e
            } : function(e) {
                return e && "function" === typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e
            })(e)
        }

        function i(e, t) {
            for (var n = 0; n < t.length; n++) {
                var r = t[n];
                r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(e, r.key, r)
            }
        }

        function s(e, t) {
            return !t || "object" !== a(t) && "function" !== typeof t ? function(e) {
                if (void 0 === e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
                return e
            }(e) : t
        }

        function c(e) {
            return (c = Object.setPrototypeOf ? Object.getPrototypeOf : function(e) {
                return e.__proto__ || Object.getPrototypeOf(e)
            })(e)
        }

        function u(e, t) {
            return (u = Object.setPrototypeOf || function(e, t) {
                return e.__proto__ = t, e
            })(e, t)
        }
        var l = function(e) {
            function t(e) {
                var n;
                return function(e, t) {
                    if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function")
                }(this, t), (n = s(this, c(t).call(this, e, r.M))).style = null, n._quantifiable = !0, n._length = 1, n
            }
            var n, a, l;
            return function(e, t) {
                if ("function" !== typeof t && null !== t) throw new TypeError("Super expression must either be null or a function");
                e.prototype = Object.create(t && t.prototype, {
                    constructor: {
                        value: e,
                        writable: !0,
                        configurable: !0
                    }
                }), t && u(e, t)
            }(t, o["a"]), n = t, (a = [{
                key: "parseComplete",
                value: function() {
                    this._charCode = this._string.charCodeAt(0)
                }
            }, {
                key: "_getNextState",
                value: function(e) {
                    return !this._state.inCharClass && -1 !== this._state.flags.indexOf("x") && /\s/.test(this._string) && (e.previousToken = this._state.previousToken, this._ignoreOnHover = !0), e
                }
            }]) && i(n.prototype, a), l && i(n, l), t
        }();
        t.a = l
    },
    "./app/js/parsers/Tokens/PositiveLookahead.js": function(e, t, n) {
        "use strict";
        var r = n("./app/js/constants/RegexTypes.js"),
            o = n("./app/js/parsers/Tokens/LookaheadToken.js");

        function a(e) {
            return (a = "function" === typeof Symbol && "symbol" === typeof Symbol.iterator ? function(e) {
                return typeof e
            } : function(e) {
                return e && "function" === typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e
            })(e)
        }

        function i(e, t) {
            return !t || "object" !== a(t) && "function" !== typeof t ? function(e) {
                if (void 0 === e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
                return e
            }(e) : t
        }

        function s(e) {
            return (s = Object.setPrototypeOf ? Object.getPrototypeOf : function(e) {
                return e.__proto__ || Object.getPrototypeOf(e)
            })(e)
        }

        function c(e, t) {
            return (c = Object.setPrototypeOf || function(e, t) {
                return e.__proto__ = t, e
            })(e, t)
        }
        var u = function(e) {
            function t(e) {
                return function(e, t) {
                    if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function")
                }(this, t), i(this, s(t).call(this, e, r.N))
            }
            return function(e, t) {
                if ("function" !== typeof t && null !== t) throw new TypeError("Super expression must either be null or a function");
                e.prototype = Object.create(t && t.prototype, {
                    constructor: {
                        value: e,
                        writable: !0,
                        configurable: !0
                    }
                }), t && c(e, t)
            }(t, o["a"]), t
        }();
        t.a = u
    },
    "./app/js/parsers/Tokens/PositiveLookbehind.js": function(e, t, n) {
        "use strict";
        var r = n("./app/js/constants/RegexTypes.js"),
            o = n("./app/js/parsers/Tokens/LookbehindToken.js");

        function a(e) {
            return (a = "function" === typeof Symbol && "symbol" === typeof Symbol.iterator ? function(e) {
                return typeof e
            } : function(e) {
                return e && "function" === typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e
            })(e)
        }

        function i(e, t) {
            return !t || "object" !== a(t) && "function" !== typeof t ? function(e) {
                if (void 0 === e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
                return e
            }(e) : t
        }

        function s(e) {
            return (s = Object.setPrototypeOf ? Object.getPrototypeOf : function(e) {
                return e.__proto__ || Object.getPrototypeOf(e)
            })(e)
        }

        function c(e, t) {
            return (c = Object.setPrototypeOf || function(e, t) {
                return e.__proto__ = t, e
            })(e, t)
        }
        var u = function(e) {
            function t(e) {
                return function(e, t) {
                    if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function")
                }(this, t), i(this, s(t).call(this, e, r.O))
            }
            return function(e, t) {
                if ("function" !== typeof t && null !== t) throw new TypeError("Super expression must either be null or a function");
                e.prototype = Object.create(t && t.prototype, {
                    constructor: {
                        value: e,
                        writable: !0,
                        configurable: !0
                    }
                }), t && c(e, t)
            }(t, o["a"]), t
        }();
        t.a = u
    },
    "./app/js/parsers/Tokens/PosixClass.js": function(e, t, n) {
        "use strict";
        var r = n("./app/js/constants/RegexTypes.js"),
            o = n("./app/js/constants/RegexErrors.js"),
            a = n("./app/js/parsers/Tokens/Token.js"),
            i = n("./app/js/parsers/Tokens/tokenStyles.css"),
            s = n.n(i);

        function c(e) {
            return (c = "function" === typeof Symbol && "symbol" === typeof Symbol.iterator ? function(e) {
                return typeof e
            } : function(e) {
                return e && "function" === typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e
            })(e)
        }

        function u(e, t) {
            for (var n = 0; n < t.length; n++) {
                var r = t[n];
                r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(e, r.key, r)
            }
        }

        function l(e, t) {
            return !t || "object" !== c(t) && "function" !== typeof t ? function(e) {
                if (void 0 === e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
                return e
            }(e) : t
        }

        function p(e) {
            return (p = Object.setPrototypeOf ? Object.getPrototypeOf : function(e) {
                return e.__proto__ || Object.getPrototypeOf(e)
            })(e)
        }

        function f(e, t) {
            return (f = Object.setPrototypeOf || function(e, t) {
                return e.__proto__ = t, e
            })(e, t)
        }
        var y = function(e) {
            function t(e) {
                var n;
                return function(e, t) {
                    if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function")
                }(this, t), (n = l(this, p(t).call(this, e, r.P)))._posixClass = null, n.style = s.a.meta, n
            }
            var n, i, c;
            return function(e, t) {
                if ("function" !== typeof t && null !== t) throw new TypeError("Super expression must either be null or a function");
                e.prototype = Object.create(t && t.prototype, {
                    constructor: {
                        value: e,
                        writable: !0,
                        configurable: !0
                    }
                }), t && f(e, t)
            }(t, a["a"]), n = t, (i = [{
                key: "parseComplete",
                value: function() {
                    this._posixClass = this._string.replace(/^\[:\^?|:\]$/g, ""), this._state.inCharClass ? /^[<>]$/.test(this._posixClass) ? this.error = o.t : /^(?:alnum|ascii|alpha|word|blank|cntrl|digit|graph|lower|print|punct|space|upper|xdigit)$/.test(this._posixClass) || (this.error = o.P) : this.error = o.B
                }
            }, {
                key: "posixClass",
                get: function() {
                    return this._posixClass
                }
            }]) && u(n.prototype, i), c && u(n, c), t
        }();
        t.a = y
    },
    "./app/js/parsers/Tokens/Quantifier.js": function(e, t, n) {
        "use strict";
        var r = n("./app/js/constants/RegexTypes.js"),
            o = n("./app/js/constants/RegexErrors.js"),
            a = n("./app/js/constants/Flavors.js"),
            i = n.n(a),
            s = n("./app/js/parsers/RegexParser/RegexParser.js"),
            c = n("./app/js/parsers/Tokens/Token.js"),
            u = n("./app/js/parsers/Tokens/tokenStyles.css"),
            l = n.n(u);

        function p(e) {
            return (p = "function" === typeof Symbol && "symbol" === typeof Symbol.iterator ? function(e) {
                return typeof e
            } : function(e) {
                return e && "function" === typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e
            })(e)
        }

        function f(e, t) {
            for (var n = 0; n < t.length; n++) {
                var r = t[n];
                r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(e, r.key, r)
            }
        }

        function y(e, t) {
            return !t || "object" !== p(t) && "function" !== typeof t ? function(e) {
                if (void 0 === e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
                return e
            }(e) : t
        }

        function b(e) {
            return (b = Object.setPrototypeOf ? Object.getPrototypeOf : function(e) {
                return e.__proto__ || Object.getPrototypeOf(e)
            })(e)
        }

        function h(e, t) {
            return (h = Object.setPrototypeOf || function(e, t) {
                return e.__proto__ = t, e
            })(e, t)
        }
        var d = function(e) {
            function t(e) {
                var n;
                return function(e, t) {
                    if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function")
                }(this, t), (n = y(this, b(t).call(this, e, r.R)))._to = null, n._from = null, n._possessive = !1, n._lazy = !1, n.style = e.previousToken && (Object(r.bb)(e.previousToken.type) || e.previousToken.type === r.R) ? e.previousToken.style : l.a.quantifier, n._quantifiable = !0, n._lazy = -1 !== e.flags.indexOf("U"), n
            }
            var n, a, u;
            return function(e, t) {
                if ("function" !== typeof t && null !== t) throw new TypeError("Super expression must either be null or a function");
                e.prototype = Object.create(t && t.prototype, {
                    constructor: {
                        value: e,
                        writable: !0,
                        configurable: !0
                    }
                }), t && h(e, t)
            }(t, c["a"]), n = t, (a = [{
                key: "parseComplete",
                value: function() {
                    if (this._calculateDimentions(), this.previousToken && this.previousToken.quantifiable) {
                        if (this._length = this._getLength(), this.previousToken.type === r.R) {
                            var e = (this.previousToken.string + this._string).slice(-1);
                            this._validateQuantifier(e), this._quantifiable = !1
                        }
                        this.error || (this.previousToken._possessive = this._possessive, this.previousToken._lazy = this._lazy, this.previousToken.quantifier = this, this.previousToken.addRelatedToken(this))
                    } else this.error = o.z
                }
            }, {
                key: "_calculateDimentions",
                value: function() {
                    var e = !(this._state.flavor === i.a.JAVASCRIPT && Object(s.e)()) && this._state.lookbehindCount > 0;
                    if (-1 !== this._string.indexOf("{")) {
                        var t, n = this._string.replace(/[^\d,]/g, "").split(","),
                            a = n[0] ? parseInt(n[0], 10) : 0;
                        t = void 0 === n[1] ? a : "" === n[1] ? 1 / 0 : parseInt(n[1], 10), this._to = t, this._from = a, e > 0 && (a !== t || a === t && 0 === a && Object(r.bb)(this.previousToken.type)) ? this.error = o.F : t < a && (this.error = o.G)
                    } else e && (this.error = o.F), "*" === this._string.charAt(0) ? (this._from = 0, this._to = 1 / 0) : "+" === this._string.charAt(0) ? (this._from = 1, this._to = 1 / 0) : (this._from = 0, this._to = 1)
                }
            }, {
                key: "_getLength",
                value: function() {
                    return this.previousToken.type === r.R ? this.previousToken.length : this._from === this._to ? this._from * Math.max(this.previousToken.length, 1) - this.previousToken.length : 1 / 0
                }
            }, {
                key: "_validateQuantifier",
                value: function(e) {
                    "?" === e ? this._lazy = !this._lazy : this.error = o.z
                }
            }, {
                key: "to",
                get: function() {
                    return this._to
                }
            }, {
                key: "from",
                get: function() {
                    return this._from
                }
            }, {
                key: "possessive",
                get: function() {
                    return this._possessive
                }
            }, {
                key: "lazy",
                get: function() {
                    return this._lazy
                }
            }, {
                key: "tooltipMarkerRange",
                get: function() {
                    var e = {
                        start: {
                            pos: this._editorPosition.start.pos,
                            line: this._editorPosition.start.line
                        },
                        end: {
                            pos: this._editorPosition.end.pos,
                            line: this._editorPosition.end.line
                        }
                    };
                    if (this.error) return {
                        primary: e
                    };
                    var t = this.previousToken,
                        n = {};
                    return t && t.type === r.R && (e.start.pos = t.editorPosition.start.pos, e.start.line = t.editorPosition.start.line, t = t.previousToken), this._quantifier && (e.end.pos = this._quantifier.editorPosition.end.pos, e.end.line = this._quantifier.editorPosition.end.line), t && (n = t.tooltipMarkerRange.primary), {
                        primary: e,
                        secondary: n
                    }
                }
            }, {
                key: "tooltipToken",
                get: function() {
                    return !this.error && this.previousToken && this.previousToken.type === r.R ? this.previousToken : this
                }
            }]) && f(n.prototype, a), u && f(n, u), t
        }();
        t.a = d
    },
    "./app/js/parsers/Tokens/ReferenceToken.js": function(e, t, n) {
        "use strict";
        var r = n("./app/js/constants/Flavors.js"),
            o = n.n(r),
            a = n("./app/js/constants/RegexErrors.js"),
            i = n("./app/js/parsers/Tokens/Token.js");

        function s(e) {
            return (s = "function" === typeof Symbol && "symbol" === typeof Symbol.iterator ? function(e) {
                return typeof e
            } : function(e) {
                return e && "function" === typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e
            })(e)
        }

        function c(e, t) {
            for (var n = 0; n < t.length; n++) {
                var r = t[n];
                r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(e, r.key, r)
            }
        }

        function u(e, t) {
            return !t || "object" !== s(t) && "function" !== typeof t ? function(e) {
                if (void 0 === e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
                return e
            }(e) : t
        }

        function l(e) {
            return (l = Object.setPrototypeOf ? Object.getPrototypeOf : function(e) {
                return e.__proto__ || Object.getPrototypeOf(e)
            })(e)
        }

        function p(e, t) {
            return (p = Object.setPrototypeOf || function(e, t) {
                return e.__proto__ = t, e
            })(e, t)
        }
        var f = function(e) {
            function t(e, n) {
                var r;
                return function(e, t) {
                    if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function")
                }(this, t), (r = u(this, l(t).call(this, e, n)))._reference = null, r._quantifiable = !0, r._length = 0, r._state.flavor !== o.a.JAVASCRIPT && e.lookbehindCount > 0 && (r.error = a.I), r
            }
            var n, r, s;
            return function(e, t) {
                if ("function" !== typeof t && null !== t) throw new TypeError("Super expression must either be null or a function");
                e.prototype = Object.create(t && t.prototype, {
                    constructor: {
                        value: e,
                        writable: !0,
                        configurable: !0
                    }
                }), t && p(e, t)
            }(t, i["a"]), n = t, (r = [{
                key: "_getNextState",
                value: function(e) {
                    return e.subpatternTokens.push(this), e
                }
            }, {
                key: "_revalidate",
                value: function() {
                    throw new Error("Reference token has not implemented `_revalidate`")
                }
            }, {
                key: "reference",
                get: function() {
                    return this._reference
                }
            }]) && c(n.prototype, r), s && c(n, s), t
        }();
        t.a = f
    },
    "./app/js/parsers/Tokens/Token.js": function(e, t, n) {
        "use strict";
        var r = n("./node_modules/lodash/lodash.js"),
            o = n.n(r),
            a = n("./app/js/parsers/BaseParser.js"),
            i = n("./app/js/constants/RegexErrors.js"),
            s = n("./app/js/parsers/Tokens/tokenStyles.css"),
            c = n.n(s);

        function u(e, t) {
            for (var n = 0; n < t.length; n++) {
                var r = t[n];
                r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(e, r.key, r)
            }
        }
        var l = function() {
            function e(t, n) {
                ! function(e, t) {
                    if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function")
                }(this, e), this._state = null, this._type = null, this._errorType = null, this._parent = null, this._children = [], this._string = null, this._position = null, this._editorPosition = null, this._style = null, this._quantifiable = null, this._quantifier = null, this._partOfRange = !1, this._rangeToken = null, this._relatedTokens = [], this._ignoreOnHover = !1, this._length = 0, this._charCode = null, this._state = t, this._type = n, this.parent = o.a.last(t.parents)
            }
            var t, n, r;
            return t = e, (n = [{
                key: "addChild",
                value: function(e) {
                    this._children.push(e)
                }
            }, {
                key: "addRelatedToken",
                value: function(e) {
                    -1 === this._relatedTokens.indexOf(e) && (this._relatedTokens.push(e), e.addRelatedToken(this))
                }
            }, {
                key: "parseComplete",
                value: function() {}
            }, {
                key: "state",
                get: function() {
                    return this._state
                }
            }, {
                key: "nextState",
                get: function() {
                    var e = a.a.copyState(this._state);
                    return e.previousToken = this, e.actualPreviousToken = this, this._getNextState ? this._getNextState(e) : e
                }
            }, {
                key: "previousToken",
                get: function() {
                    return this._state.previousToken
                }
            }, {
                key: "error",
                get: function() {
                    return this._errorType
                },
                set: function(e) {
                    this._errorType = e, this._style = c.a.error, this._quantifiable = !1, this._state.patternError = !0, this._quantifier && (this._quantifier.error = i.z), this._closeGroup && (this._closeGroup.error = e)
                }
            }, {
                key: "type",
                get: function() {
                    return this._type
                }
            }, {
                key: "string",
                get: function() {
                    return this._string
                },
                set: function(e) {
                    this._string = e
                }
            }, {
                key: "position",
                get: function() {
                    return this._position
                },
                set: function(e) {
                    this._position = e
                }
            }, {
                key: "editorPosition",
                get: function() {
                    return this._editorPosition
                },
                set: function(e) {
                    this._editorPosition = e
                }
            }, {
                key: "style",
                get: function() {
                    return this._style
                },
                set: function(e) {
                    if (!this._errorType) {
                        var t = e || [];
                        this._state.inCharClass ? this._style = [c.a.inCharClass].concat(t).join(" ") : this._state.inQuote ? this._style = [c.a.inQuote].concat(t).join(" ") : this._style = [].concat(e).join(" ")
                    }
                }
            }, {
                key: "quantifiable",
                get: function() {
                    return !!this._quantifiable
                }
            }, {
                key: "charCode",
                get: function() {
                    return this._charCode
                }
            }, {
                key: "relatedTokens",
                get: function() {
                    var e = [];
                    return function t(n) {
                        n.forEach(function(n) {
                            -1 === e.indexOf(n) && (e.push(n), t(n._relatedTokens))
                        })
                    }(this._relatedTokens), e
                }
            }, {
                key: "length",
                get: function() {
                    return this._length
                }
            }, {
                key: "flags",
                get: function() {
                    return this._state.flags
                }
            }, {
                key: "quantifier",
                get: function() {
                    return this._quantifier
                },
                set: function(e) {
                    if (!this._quantifiable && !this._willBeQuantifiable) throw new Error("Trying to add quantifier to non-quantifiable token");
                    this._quantifier = e
                }
            }, {
                key: "partOfRange",
                get: function() {
                    return this._partOfRange
                },
                set: function(e) {
                    this._partOfRange = e
                }
            }, {
                key: "children",
                get: function() {
                    return this._children
                }
            }, {
                key: "parent",
                get: function() {
                    return this._parent
                },
                set: function(e) {
                    e && (this._parent = e, this._parent.addChild(this))
                }
            }, {
                key: "inCharClass",
                get: function() {
                    return this._state.inCharClass
                }
            }, {
                key: "ignoreOnHover",
                get: function() {
                    return this._ignoreOnHover
                }
            }, {
                key: "tooltipMarkerRange",
                get: function() {
                    return this._partOfRange ? this._rangeToken.tooltipMarkerRange : {
                        primary: {
                            start: {
                                pos: this._editorPosition.start.pos,
                                line: this._editorPosition.start.line
                            },
                            end: {
                                pos: this._editorPosition.end.pos,
                                line: this._editorPosition.end.line
                            }
                        }
                    }
                }
            }, {
                key: "tooltipToken",
                get: function() {
                    return this._partOfRange ? this._rangeToken : this
                }
            }]) && u(t.prototype, n), r && u(t, r), e
        }();
        t.a = l
    },
    "./app/js/parsers/Tokens/TrailingBackslash.js": function(e, t, n) {
        "use strict";
        var r = n("./app/js/constants/RegexTypes.js"),
            o = n("./app/js/constants/RegexErrors.js"),
            a = n("./app/js/parsers/Tokens/Token.js");

        function i(e) {
            return (i = "function" === typeof Symbol && "symbol" === typeof Symbol.iterator ? function(e) {
                return typeof e
            } : function(e) {
                return e && "function" === typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e
            })(e)
        }

        function s(e, t) {
            return !t || "object" !== i(t) && "function" !== typeof t ? function(e) {
                if (void 0 === e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
                return e
            }(e) : t
        }

        function c(e) {
            return (c = Object.setPrototypeOf ? Object.getPrototypeOf : function(e) {
                return e.__proto__ || Object.getPrototypeOf(e)
            })(e)
        }

        function u(e, t) {
            return (u = Object.setPrototypeOf || function(e, t) {
                return e.__proto__ = t, e
            })(e, t)
        }
        var l = function(e) {
            function t(e) {
                var n;
                return function(e, t) {
                    if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function")
                }(this, t), (n = s(this, c(t).call(this, e, r.M))).error = o.L, n
            }
            return function(e, t) {
                if ("function" !== typeof t && null !== t) throw new TypeError("Super expression must either be null or a function");
                e.prototype = Object.create(t && t.prototype, {
                    constructor: {
                        value: e,
                        writable: !0,
                        configurable: !0
                    }
                }), t && u(e, t)
            }(t, a["a"]), t
        }();
        t.a = l
    },
    "./app/js/parsers/Tokens/UnescapedDelimiter.js": function(e, t, n) {
        "use strict";
        var r = n("./app/js/constants/RegexTypes.js"),
            o = n("./app/js/constants/RegexErrors.js"),
            a = n("./app/js/parsers/Tokens/Token.js");

        function i(e) {
            return (i = "function" === typeof Symbol && "symbol" === typeof Symbol.iterator ? function(e) {
                return typeof e
            } : function(e) {
                return e && "function" === typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e
            })(e)
        }

        function s(e, t) {
            return !t || "object" !== i(t) && "function" !== typeof t ? function(e) {
                if (void 0 === e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
                return e
            }(e) : t
        }

        function c(e) {
            return (c = Object.setPrototypeOf ? Object.getPrototypeOf : function(e) {
                return e.__proto__ || Object.getPrototypeOf(e)
            })(e)
        }

        function u(e, t) {
            return (u = Object.setPrototypeOf || function(e, t) {
                return e.__proto__ = t, e
            })(e, t)
        }
        var l = function(e) {
            function t(e) {
                var n;
                return function(e, t) {
                    if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function")
                }(this, t), (n = s(this, c(t).call(this, e, r.n))).error = o.O, n
            }
            return function(e, t) {
                if ("function" !== typeof t && null !== t) throw new TypeError("Super expression must either be null or a function");
                e.prototype = Object.create(t && t.prototype, {
                    constructor: {
                        value: e,
                        writable: !0,
                        configurable: !0
                    }
                }), t && u(e, t)
            }(t, a["a"]), t
        }();
        t.a = l
    },
    "./app/js/parsers/Tokens/UnicodeEscape.js": function(e, t, n) {
        "use strict";
        var r = n("./app/js/constants/RegexTypes.js"),
            o = n("./app/js/constants/RegexErrors.js"),
            a = n("./app/js/parsers/Tokens/Token.js"),
            i = n("./app/js/parsers/Tokens/tokenStyles.css"),
            s = n.n(i);

        function c(e) {
            return (c = "function" === typeof Symbol && "symbol" === typeof Symbol.iterator ? function(e) {
                return typeof e
            } : function(e) {
                return e && "function" === typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e
            })(e)
        }

        function u(e, t) {
            for (var n = 0; n < t.length; n++) {
                var r = t[n];
                r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(e, r.key, r)
            }
        }

        function l(e, t) {
            return !t || "object" !== c(t) && "function" !== typeof t ? function(e) {
                if (void 0 === e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
                return e
            }(e) : t
        }

        function p(e) {
            return (p = Object.setPrototypeOf ? Object.getPrototypeOf : function(e) {
                return e.__proto__ || Object.getPrototypeOf(e)
            })(e)
        }

        function f(e, t) {
            return (f = Object.setPrototypeOf || function(e, t) {
                return e.__proto__ = t, e
            })(e, t)
        }
        var y = function(e) {
            function t(e) {
                var n, o = arguments.length > 1 && void 0 !== arguments[1] && arguments[1];
                return function(e, t) {
                    if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function")
                }(this, t), (n = l(this, p(t).call(this, e, r.V)))._hex = null, n._substitutionMode = null, n.style = s.a.meta, n._quantifiable = !0, n._length = 1, n._substitutionMode = o, n
            }
            var n, i, c;
            return function(e, t) {
                if ("function" !== typeof t && null !== t) throw new TypeError("Super expression must either be null or a function");
                e.prototype = Object.create(t && t.prototype, {
                    constructor: {
                        value: e,
                        writable: !0,
                        configurable: !0
                    }
                }), t && f(e, t)
            }(t, a["a"]), n = t, (i = [{
                key: "parseComplete",
                value: function() {
                    this._hex = this._string.replace(/^\\u|[{}]/gi, ""), this._charCode = parseInt(this._hex, 16), "{" === this._string.charAt(2) && "}" !== this._string.slice(-1) || "" === this._hex ? this.error = o.n : /[^a-f0-9]/i.test(this._hex) ? this.error = o.v : parseInt(this._hex, 16) > parseInt("10ffff", 16) ? this.error = o.j : this._substitutionMode && !/^\\u.{4}$/.test(this._string) && (this.error = o.v)
                }
            }]) && u(n.prototype, i), c && u(n, c), t
        }();
        t.a = y
    },
    "./app/js/parsers/Tokens/UnicodeProperty.js": function(e, t, n) {
        "use strict";
        var r = n("./app/js/constants/RegexTypes.js"),
            o = n("./app/js/constants/RegexErrors.js"),
            a = n("./app/js/parsers/Tokens/Token.js"),
            i = n("./app/js/parsers/Tokens/tokenStyles.css"),
            s = n.n(i);

        function c(e) {
            return (c = "function" === typeof Symbol && "symbol" === typeof Symbol.iterator ? function(e) {
                return typeof e
            } : function(e) {
                return e && "function" === typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e
            })(e)
        }

        function u(e, t) {
            for (var n = 0; n < t.length; n++) {
                var r = t[n];
                r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(e, r.key, r)
            }
        }

        function l(e, t) {
            return !t || "object" !== c(t) && "function" !== typeof t ? function(e) {
                if (void 0 === e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
                return e
            }(e) : t
        }

        function p(e) {
            return (p = Object.setPrototypeOf ? Object.getPrototypeOf : function(e) {
                return e.__proto__ || Object.getPrototypeOf(e)
            })(e)
        }

        function f(e, t) {
            return (f = Object.setPrototypeOf || function(e, t) {
                return e.__proto__ = t, e
            })(e, t)
        }
        var y = function(e) {
            function t(e) {
                var n;
                return function(e, t) {
                    if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function")
                }(this, t), (n = l(this, p(t).call(this, e, r.X)))._script = null, n._category = null, n.style = s.a.meta, n._quantifiable = !0, n._length = 1, n
            }
            var n, i, c;
            return function(e, t) {
                if ("function" !== typeof t && null !== t) throw new TypeError("Super expression must either be null or a function");
                e.prototype = Object.create(t && t.prototype, {
                    constructor: {
                        value: e,
                        writable: !0,
                        configurable: !0
                    }
                }), t && f(e, t)
            }(t, a["a"]), n = t, (i = [{
                key: "parseComplete",
                value: function() {
                    this._script = this._string.slice(2).replace(/[^&\w\-=]/g, ""), (!this._script || "{" === this._string.charAt(2) && "}" !== this._string.slice(-1)) && (this.error = o.n)
                }
            }, {
                key: "script",
                get: function() {
                    return this._script
                }
            }, {
                key: "category",
                get: function() {
                    return this._category
                }
            }]) && u(n.prototype, i), c && u(n, c), t
        }();
        t.a = y
    },
    "./app/js/parsers/Tokens/UnsupportedToken.js": function(e, t, n) {
        "use strict";
        var r = n("./app/js/constants/RegexTypes.js"),
            o = n("./app/js/constants/RegexErrors.js"),
            a = n("./app/js/parsers/Tokens/Token.js");

        function i(e) {
            return (i = "function" === typeof Symbol && "symbol" === typeof Symbol.iterator ? function(e) {
                return typeof e
            } : function(e) {
                return e && "function" === typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e
            })(e)
        }

        function s(e, t) {
            return !t || "object" !== i(t) && "function" !== typeof t ? function(e) {
                if (void 0 === e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
                return e
            }(e) : t
        }

        function c(e) {
            return (c = Object.setPrototypeOf ? Object.getPrototypeOf : function(e) {
                return e.__proto__ || Object.getPrototypeOf(e)
            })(e)
        }

        function u(e, t) {
            return (u = Object.setPrototypeOf || function(e, t) {
                return e.__proto__ = t, e
            })(e, t)
        }
        var l = function(e) {
            function t(e) {
                var n;
                return function(e, t) {
                    if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function")
                }(this, t), (n = s(this, c(t).call(this, e, r.B))).error = o.T, n
            }
            return function(e, t) {
                if ("function" !== typeof t && null !== t) throw new TypeError("Super expression must either be null or a function");
                e.prototype = Object.create(t && t.prototype, {
                    constructor: {
                        value: e,
                        writable: !0,
                        configurable: !0
                    }
                }), t && u(e, t)
            }(t, a["a"]), t
        }();
        t.a = l
    },
    "./app/js/parsers/Tokens/VerticalTab.js": function(e, t, n) {
        "use strict";
        var r = n("./app/js/constants/RegexTypes.js"),
            o = n("./app/js/parsers/Tokens/Token.js"),
            a = n("./app/js/parsers/Tokens/tokenStyles.css"),
            i = n.n(a);

        function s(e) {
            return (s = "function" === typeof Symbol && "symbol" === typeof Symbol.iterator ? function(e) {
                return typeof e
            } : function(e) {
                return e && "function" === typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e
            })(e)
        }

        function c(e, t) {
            return !t || "object" !== s(t) && "function" !== typeof t ? function(e) {
                if (void 0 === e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
                return e
            }(e) : t
        }

        function u(e) {
            return (u = Object.setPrototypeOf ? Object.getPrototypeOf : function(e) {
                return e.__proto__ || Object.getPrototypeOf(e)
            })(e)
        }

        function l(e, t) {
            return (l = Object.setPrototypeOf || function(e, t) {
                return e.__proto__ = t, e
            })(e, t)
        }
        var p = function(e) {
            function t(e) {
                var n;
                return function(e, t) {
                    if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function")
                }(this, t), (n = c(this, u(t).call(this, e, r.Z))).style = i.a.meta, n._quantifiable = !0, n._charCode = "\v".charCodeAt(0), n._length = 1, n
            }
            return function(e, t) {
                if ("function" !== typeof t && null !== t) throw new TypeError("Super expression must either be null or a function");
                e.prototype = Object.create(t && t.prototype, {
                    constructor: {
                        value: e,
                        writable: !0,
                        configurable: !0
                    }
                }), t && l(e, t)
            }(t, o["a"]), t
        }();
        t.a = p
    },
    "./app/js/parsers/Tokens/tokenStyles.css": function(e, t, n) {
        e.exports = {
            inQuote: "_15gMj",
            alternator: "_3-4ql",
            meta: "_13Ps7",
            quantifier: "_1L8oL",
            escaped_string: "_3edcn",
            charclass: "A4U96",
            inCharClass: "LtTRm",
            inline_modifiers: "-uj_B",
            verb: "_3Gbv-",
            "group-0": "_1xGnW",
            "group-1": "_1oCz5",
            "group-2": "_-5fuN",
            "group-3": "_3B5re",
            "group-4": "_3vceu",
            "group-5": "_1ldGV",
            "group-6": "_1nlia",
            "group-7": "_7yn7z",
            "group-8": "UUSvp",
            "group-9": "_8mZUj",
            selected_bracket: "D2w6m",
            subpattern_reference: "Vwn-_",
            comment: "_3n4mI",
            backreference: "uB21v",
            error: "_1s76f",
            mouseoverRelated: "_3bvDJ",
            mouseoverRelatedLeft: "_2Vhse",
            mouseoverRelatedRight: "_1-tS8",
            mouseover: "_1t2fb",
            mouseoverLeft: "_3F3Js",
            mouseoverRight: "_1sxjb",
            cursorover: "OJcb7"
        }
    },
    "./app/js/styles/variables/animations.js": function(e, t) {
        e.exports = {
            defaultSpeed: "0.2s",
            slowSpeed: "0.6s",
            fastSpeed: "0.1s",
            jumpyEasing: "cubic-bezier(0.6, 0.4, 0.2, 1.4)",
            motionEasing: "cubic-bezier(0.23, 1, 0.32, 1)",
            menuSpeed: "0.25s",
            modalSpeed: "0.2s",
            tooltipSpeed: "0.15s",
            starSpeed: "0.3s",
            posterFlipSpeed: "0.8s",
            selectCircleSpeed: "0.15s",
            loadingScreenSpeed: "1s",
            spinnerDuration: "1.1s",
            testareaSpeed: "0.25s",
            labelButtonSpeed: "0.1s",
            iconBtnSpeed: "0.15s",
            fullscreenSpeed: "0.2s",
            sidebarSpeed: "0.25s"
        }
    },
    "./app/js/styles/variables/darkTheme.js": function(e, t) {
        e.exports = {
            dark_lightGrey: "#2d2d2d",
            dark_lighterGrey: "#1d1d1d",
            dark_grey: "#1f1f1f",
            dark_darkGrey: "#1a1a1a",
            dark_darkerGrey: "#121212",
            dark_darkestGrey: "#111111",
            dark_globalApp_background: "$dark_grey",
            dark_globalApp_color: "#ababab",
            dark_theme_color: "#2d5079",
            dark_green: "#3b9458",
            dark_userDataItem_background: "$dark_lightGrey",
            dark_accountPageToolbar_date_color: "#545454",
            dark_accountPageToolbar_icon_color: "#545454",
            dark_accountPageToolbar_delete_hoverColor: "#a53131",
            dark_accountPageToolbar_delete_activeColor: "color($dark_accountPageToolbar_delete_hoverColor lightness(+10%))",
            dark_accountPageToolbar_isPrivate_hoverColor: "#a9a9a9",
            dark_accountPageToolbar_isPrivate_activeColor: "color($dark_accountPageToolbar_isPrivate_hoverColor lightness(+15%))",
            dark_accountPageToolbar_isLocked_hoverColor: "#a58535",
            dark_accountPageToolbar_isLocked_activeColor: "color($dark_accountPageToolbar_isLocked_hoverColor lightness(+10%))",
            dark_accountPageToolbar_title_hoverColor: "$dark_green",
            dark_accountPageToolbar_title_activeColor: "color($dark_accountPageToolbar_title_hoverColor lightness(+10%))",
            dark_titleRow_flavor_color: "#828282",
            dark_titleRow_title_color: "#577fad",
            dark_tag_background: "#444444",
            dark_tag_hoverBackground: "#185a49",
            dark_tag_activeBackground: "#0d674d",
            dark_tag_color: "#adadad",
            dark_codeMirror_selectedBackground: "rgba(77, 145, 226, 0.3)",
            dark_codeMirror_inactive_selectedBackground: "rgba(128, 127, 127, 0.3)",
            dark_codeMirror_placeholder_color: "$dark_textInput_placeholder_color",
            dark_codeMirror_gutter_borderColor: "$dark_lightGrey",
            dark_codeMirror_gutter_color: "#545454",
            dark_codeMirror_gutter_background: "$dark_lightGrey",
            dark_codeMirror_cursor_borderColor: "#cccccc",
            dark_codeMirror_highlight: "#ffffbb",
            dark_header_color: "#c1c1c1",
            dark_header_border: "#345b88",
            dark_header_background: "$dark_theme_color",
            dark_headerLink_twitter_color: "#7c9cc3",
            dark_headerLink_donate_color: "#eab54e",
            dark_headerLink_contact_color: "#59b578",
            dark_headerLink_feedback_color: "#ce6262",
            dark_headerLink_button_background: "$dark_header_background",
            dark_headerLink_wiki_color: "#7ba568",
            dark_sidebar_background: "$dark_darkGrey",
            dark_sidebar_borderColor: "#212121",
            dark_sidebar_menuHamburger_background: "$dark_header_background",
            dark_sidebar_menuHamburger_color: "$dark_header_color",
            dark_innerSidebar_background: "$dark_darkerGrey",
            dark_innerSidebar_color: "#6f6f6f",
            dark_innerSidebar_activeBackground: "#4e4e4e",
            dark_innerSidebar_activeColor: "#9e9e9e",
            dark_innerSidebar_dontationButton_hoverBackround: "#2c6d35",
            dark_innerSidebar_dontationButton_hoverColor: "#d4c470",
            dark_innerSidebar_sponsorButton_hoverBackround: "#c65a9d",
            dark_innerSidebar_sponsorButton_hoverColor: "#dedede",
            dark_regexSidebar_saveButton_color: "$dark_green",
            dark_regexSidebar_favoriteButton_color: "#a03b3b",
            dark_regexSidebar_deleteButton_color: "$dark_regexSidebar_favoriteButton_color",
            dark_regexSidebar_deleteButton_hoverBackground: "$dark_regexSidebar_favoriteButton_color",
            dark_regexSidebar_deleteButton_hoverColor: "#d0d0d0",
            dark_rightSidebar_contentArea_borderColor: "#1f1f1f #212121 #212121 #212121",
            dark_rightSidebar_contentArea_background: "$dark_grey",
            dark_exportMatchButton_color: "#ffffff",
            dark_matchGroup_pos_color: "#565656",
            dark_matchGroups_header_color: "#4e7bb3",
            dark_matchGroups_borderColor: "#272727",
            dark_matchInfo_noMatch_color: "#a03b3b",
            dark_rightSidebar_placeholder_color: "#444444",
            dark_quickrefDetails_regex_color: "#417751",
            dark_quickrefDetails_closeDetails_color: "#ffffff",
            dark_multiListItem_rightElement_color: "$dark_green",
            dark_listMenu_defaultContent_button_color: "#797979",
            dark_listMenu_defaultContent_button_hoverColor: "#a0a0a0",
            dark_listMenu_defaultContent_button_hoverBackground: "$dark_darkerGrey",
            dark_listMenu_defaultContent_button_activeColor: "#afafaf",
            dark_listMenu_defaultContent_button_activeBackground: "color($dark_listMenu_defaultContent_button_hoverBackground lightness(+5%))",
            dark_listMenu_toggleContent_checkMark_color: "$dark_green",
            dark_loadingScreen_background: "$dark_sidebar_background",
            dark_loadingScreen_color: "$dark_globalApp_color",
            dark_logo_regular_color: "#c1c1c1",
            dark_logo_suffix_color: "$dark_logo_regular_color",
            dark_logo_expressions_color: "#72a9d4",
            dark_logo_regular_hoverColor: "color($dark_logo_regular_color lightness(+5%))",
            dark_logo_suffix_hoverColor: "$dark_logo_regular_hoverColor",
            dark_logo_expressions_hoverColor: "color($dark_logo_expressions_color lightness(+5%))",
            dark_menuContainer_color: "#bbbbbb",
            dark_menuContainer_background: "#444444",
            dark_menuContainer_border: "rgba(0, 0, 0, 0.15)",
            dark_menuHeader_color: "#ececec",
            dark_menuItem_color: "#bbbbbb",
            dark_menuItem_hoverColor: "#ffffff",
            dark_menuItem_hoverBackground: "#555555",
            dark_menuItem_activeBackground: "#5a5a5a",
            dark_menuDivider_color: "#4c4c4c",
            dark_flagsMenu_flag_color: "#ffffff",
            dark_flagsMenu_description_color: "#888888",
            dark_modalBody_background: "$dark_grey",
            dark_modalHeader_color: "$dark_globalApp_color",
            dark_modalHeader_background: "$dark_theme_color",
            dark_modalHeader_titleIcon_color: "#6f92bb",
            dark_modalFooter_background: "$dark_lightGrey",
            dark_modalFooter_borderColor: "color($dark_grey lightness(+5%))",
            dark_modal_closeButton_color: "$dark_modalHeader_titleIcon_color",
            dark_modal_closeButton_hoverColor: "color($dark_modal_closeButton_color lightness(+30%))",
            dark_modal_closeButton_activeColor: "color($dark_modal_closeButton_color lightness(+15%))",
            dark_modal_backdrop_background: "hsla(0, 0%, 40%, 0.6)",
            dark_modal_boxShadow_color: "hsla(0, 0%, 20%, 0.6)",
            dark_submitToLibraryModal_success_color: "#357b35",
            dark_pageArrow_color: "$dark_green",
            dark_debugStep_background: "#232323",
            dark_debugStep_lineNumber_color: "#3268a7",
            dark_debugStep_regexHighlight_color: "#edfff9",
            dark_debugStep_regexHighlight_background: "#129163",
            dark_debugStep_regex_color: "#848484",
            dark_debugStep_backtrackIcon_color: "#a22e2e",
            dark_regexDebugger_match_color: "#338433",
            dark_regexDebugger_noMatch_color: "#cc3f3f",
            dark_matchGroup_0: "#084b8c",
            dark_matchGroup_0_alt: "#05335D",
            dark_matchGroup_1: "#2c5200",
            dark_matchGroup_2: "#8e3e37",
            dark_matchGroup_3: "#945401",
            dark_matchGroup_4: "#410d9c",
            dark_matchGroup_5: "#026353",
            dark_matchGroup_6: "#436500",
            dark_matchGroup_7: "#870090",
            dark_matchGroup_8: "#583a08",
            dark_matchGroup_9: "#a02241",
            dark_matchGroup_10: "#006f90",
            dark_matchIndicator_noMatch_color: "#d4d4d4",
            dark_matchIndicator_noMatch_background: "#3e3e3e",
            dark_matchIndicator_match_color: "#d4d4d4",
            dark_matchIndicator_match_background: "#2f584c",
            dark_matchIndicator_error_color: "#d4d4d4",
            dark_matchIndicator_error_background: "#8a2d2d",
            dark_delimiterSelector_color: "#4a4a4a",
            dark_delimiterSelector_hoverColor: "$dark_theme_color",
            dark_delimiterSelector_activeColor: "#5b9cec",
            dark_optionsContainer_delimiter_color: "$dark_delimiterSelector_color",
            dark_optionsContainer_color: "$dark_green",
            dark_optionsContainer_flagButton_color: "$dark_delimiterSelector_color",
            dark_optionsContainer_flagButton_hoverColor: "#719c7f",
            dark_optionsContainer_flagButton_activeColor: "$dark_optionsContainer_color",
            dark_regexAreaLabel_versionSelector_color: "$dark_genericButton_color",
            dark_genericButton_color: "#989898",
            dark_testareaTooltip_match_borderColor: "rgba(255, 255, 255, 0.08)",
            dark_testareaTooltip_matchNumber_color: "#12cc12",
            dark_testareaTooltip_groupNumber_color: "#4caaff",
            dark_tooltipped_color: "#cacaca",
            dark_tooltipped_background: "rgba(0, 0, 0, 0.8)",
            dark_numberedItem_number_color: "#4f6b8e",
            dark_testCreator_borderColor: "$dark_sidebar_borderColor",
            dark_testDetails_details_color: "#7b7b7b",
            dark_testDetails_target_background: "rgba(0, 0, 0, 0.5)",
            dark_testDetails_criteria_background: "$dark_testDetails_target_background",
            dark_testDetails_testString_background: "$dark_testDetails_target_background",
            dark_testDetails_compareString_background: "$dark_testDetails_target_background",
            dark_testList_tools_color: "#6f6f6f",
            dark_testList_tools_fail_color: "$dark_testList_testRow_fail_color",
            dark_testList_tools_pass_color: "$dark_testList_testRow_pass_color",
            dark_testList_testRowParent_color: "#c3c3c3",
            dark_testList_testRowParent_background: "#232323",
            dark_testList_testRowParent_fail_background: "#401515",
            dark_testList_testRowParent_pass_background: "#19381d",
            dark_testList_testRow_background: "color($dark_testList_testRowParent_background lightness(+5%))",
            dark_testList_testRow_hoverBackground: "color($dark_testList_testRow_background lightness(+7%))",
            dark_testList_testRow_activeBackground: "color($dark_testList_testRow_background lightness(+5%))",
            dark_testList_testRow_fail_background: "#902929",
            dark_testList_testRow_fail_color: "#f3eded",
            dark_testList_testRow_fail_hoverBackground: "color($dark_testList_testRow_fail_background lightness(+7%))",
            dark_testList_testRow_fail_activeBackground: "color($dark_testList_testRow_fail_background lightness(+5%))",
            dark_testList_testRow_pass_background: "#0e6f1c",
            dark_testList_testRow_pass_color: "#d6e4d8",
            dark_testList_testRow_pass_hoverBackground: "color($dark_testList_testRow_pass_background lightness(+7%))",
            dark_testList_testRow_pass_activeBackground: "color($dark_testList_testRow_pass_background lightness(+5%))",
            dark_testController_borderColor: "#232323",
            dark_rootLabel_flags_color: "$dark_optionsContainer_color",
            dark_rootLabel_delimiter_color: "color($dark_delimiterSelector_color lightness(50%))",
            dark_tokenStyles_keyword_color: "#1da06d",
            dark_tokenStyles_info_color: "#b5b5b5",
            dark_tokenStyles_tokenSample_background: "#ad8a1d",
            dark_tokenStyles_tokenSample_color: "#231b02",
            dark_tokenStyles_plainText_background: "#eeeeee",
            dark_tokenStyles_plainText_color: "#555555",
            dark_tokenStyles_flag_color: "#9061b7",
            dark_tokenStyles_flags_color: "$dark_optionsContainer_color",
            dark_tokenStyles_delimiter_color: "color($dark_rootLabel_delimiter_color lightness(85%))",
            dark_tokenStyles_parentTokens_color: "color($dark_grey lightness(+3%))",
            dark_tokenStyles_groupSuffix_positive_color: "#658c65",
            dark_tokenStyles_groupSuffix_negative_color: "#9a5857",
            dark_tokenStyles_groupSuffix_none_color: "#5f5f5f",
            dark_regexLibrary_libraryEntry_background: "$dark_lightGrey",
            dark_voteButton_downvote_color: "#b74141",
            dark_voteButton_upvote_color: "$dark_green",
            dark_libraryEntry_author_color: "#885d5d",
            dark_libraryEntry_noDescription_color: "#545454",
            dark_libraryEntry_dateAndAuthor_color: "$dark_libraryEntry_noDescription_color",
            dark_libraryEntry_title_color: "$dark_link_color",
            dark_libraryEntry_title_hoverColor: "color($dark_libraryEntry_title_color lightness(+20%) saturation(+10%))",
            dark_libraryEntry_background: "#232323",
            dark_libraryEntry_entryButton_activeColor: "$dark_innerSidebar_activeColor",
            dark_libraryEntry_entryButton_activeBackground: "$dark_innerSidebar_activeBackground",
            dark_treeview_arrow_color: "#555555",
            dark_treeview_arrow_hoverColor: "#358c86",
            dark_lengthCounter_background: "#2f2f2f",
            dark_lengthCounter_color: "#616161",
            dark_textInput_activeBorderColor: "#333333",
            dark_textInput_borderColor: "#292828",
            dark_textInput_background: "#272727",
            dark_textInput_disabled_background: "$dark_darkGrey",
            dark_textInput_disabled_color: "#6b6b6b",
            dark_textInput_error_background: "#a54444",
            dark_textInput_error_color: "#dacfcf",
            dark_textInput_error_borderColor: "#a54d4d",
            dark_textInput_error_activeBorderColor: "color($dark_textInput_error_background lightness(+10%))",
            dark_textInput_activeBoxShadow: "inset 0 1px 2px rgba(0, 0, 0, 0.075), 0 0 5px rgba(0, 0, 0, 0.6)",
            dark_textInput_error_activeBoxShadow: "inset 0 1px 2px rgba(0,0,0,.075),0 0 5px rgba(255, 0, 0, 0.5)",
            dark_textInput_placeholder_color: "#676767",
            dark_textInput_color: "$dark_globalApp_color",
            dark_button_color: "$dark_globalApp_color",
            dark_button_execute_background: "#38964E",
            dark_button_ok_background: "$dark_theme_color",
            dark_button_cancel_background: "#3e3e3e",
            dark_button_danger_background: "#a01b1b",
            dark_label_color: "#797979",
            dark_label_borderColor: "rgba(156, 156, 156, 0.07)",
            dark_expandableLabel_color: "#5f5f5f",
            dark_expandableLabel_hoverColor: "#828282",
            dark_expandableLabel_activeColor: "#888888",
            dark_link_color: "#36577d",
            dark_link_visitedColor: "$dark_link_color",
            dark_link_hoverColor: "$dark_link_color",
            dark_link_activeColor: "color($dark_link_color lightness(+10%))",
            dark_notice_error_color: "#b54d4d",
            dark_notice_warning_color: "#a07f2b",
            dark_notice_info_color: "#565656",
            dark_spinner_borderColor: "$dark_theme_color",
            dark_basicContainer_borderColor: "$dark_textInput_borderColor",
            dark_basicContainer_background: "$dark_textInput_background",
            dark_copyButton_color: "#ffffff",
            dark_fullscreenLayer_background: "$dark_sidebar_background",
            dark_fullscreenLayer_exitButton_color: "$dark_header_background",
            dark_markdownContainer_header_borderColor: "$dark_darkGrey",
            dark_markdownContainer_code_background: "rgba(0, 0, 0, 0.04)",
            dark_markdownContainer_pre_background: "$dark_lightGrey",
            dark_markdownContainer_blockQuote_borderColor: "#dddddd",
            dark_markdownContainer_blockQuote_color: "#777777",
            dark_markdownContainer_hr_background: "#e7e7e7",
            dark_markdownEditor_borderColor: "$dark_rightSidebar_contentArea_borderColor",
            dark_markdownEditor_background: "$dark_darkGrey",
            dark_markdownEditor_previewWindow_borderColor: "#212121",
            dark_markdownEditor_tab_color: "#6d6d6d",
            dark_toolbarItem_color: "#767676",
            dark_toolbarItem_hoverColor: "$dark_theme_color",
            dark_toolbarItem_activeColor: "color($dark_toolbarItem_hoverColor blackness(+10%))",
            dark_markdownEditor_toolbar_background: "#171717"
        }
    },
    "./app/js/styles/variables/dimensions.js": function(e, t) {
        e.exports = {
            testAreaPadding: "5px",
            headerHeight: "50px",
            modalHeaderHeight: "65px",
            modalButtonAreaHeight: "65px",
            maxModalHeight: "550px",
            maxModalWidth: "900px",
            dropdownWidth: "120px",
            headerLogoBreakpoint: "350px",
            headerIconsBreakpoint: "740px",
            headerIconsMinimumSize: "300px",
            smallLogoBreakpoint: "560px",
            substitutionAreaBreakpoint: "500px",
            fullscreenBreakpoint: "900px",
            rightSidebarBreakpoint: "900px",
            extraLargeRightSidebarBreakpoint: "2200px",
            markdownEditorBreakpoint: "500px",
            matchInfoSmallScreenBreakpoint: "500px",
            tooltipZindex: "99999",
            backdropZindex: "4",
            leftSidebarZindex: "5",
            smallRightSidebarZindex: "5",
            dropdownZindex: "6",
            animationContainerZindex: "15",
            fullscreenLayerZindex: "16",
            modalBackdropZindex: "19",
            modalZindex: "20",
            testAreaZindex: "2",
            regexCanvasZindex: "1",
            switchableAreaZindex: "10",
            transitionTime: "0.25s",
            maxWidthTooltip: "300px",
            codeFont: "Monaco, Consolas, 'Andale Mono', 'Lucida Console', 'PT Mono', 'Courier New', monospace",
            appFont: "'Open Sans', 'Lucida Sans Unicode', 'Lucida Grande', sansSerif",
            leftSidebarWidth: "220px",
            innerLeftSidebarWidth: "50px",
            totalLeftSidebarWidth: "270px",
            leftSidebarBreakpoint: "1200px",
            sidebarHamburgerWidth: "28px",
            testControllerHeight: "55px"
        }
    },
    "./app/js/styles/variables/lightTheme.js": function(e, t) {
        e.exports = {
            light_lighterGrey: "#fdfdfd",
            light_lightGrey: "#f7f7f7",
            light_grey: "#ebebeb",
            light_darkGrey: "#cccccc",
            light_darkerGrey: "#aaaaaa",
            light_globalApp_background: "$light_grey",
            light_globalApp_color: "#333333",
            light_theme_color: "#457abb",
            light_userDataItem_background: "$light_lightGrey",
            light_accountPageToolbar_date_color: "$light_darkGrey",
            light_accountPageToolbar_icon_color: "$light_darkGrey",
            light_accountPageToolbar_delete_hoverColor: "#CE4040",
            light_accountPageToolbar_delete_activeColor: "color($light_accountPageToolbar_delete_hoverColor blackness(+10%))",
            light_accountPageToolbar_isPrivate_hoverColor: "#4c4c4c",
            light_accountPageToolbar_isPrivate_activeColor: "color($light_accountPageToolbar_isPrivate_hoverColor lightness(+15%))",
            light_accountPageToolbar_isLocked_hoverColor: "#DAA520",
            light_accountPageToolbar_isLocked_activeColor: "color($light_accountPageToolbar_isLocked_hoverColor blackness(+10%))",
            light_accountPageToolbar_title_hoverColor: "#008000",
            light_accountPageToolbar_title_activeColor: "color($light_accountPageToolbar_title_hoverColor blackness(+10%))",
            light_titleRow_flavor_color: "$light_darkerGrey",
            light_titleRow_title_color: "#486890",
            light_tag_background: "#b3b3b3",
            light_tag_hoverBackground: "color(#5a9282 saturation(+10%))",
            light_tag_activeBackground: "color(#5a9282 lightness(+10%) saturation(+25%))",
            light_tag_color: "#ffffff",
            light_codeMirror_selectedBackground: "rgba(77, 145, 226, 0.3)",
            light_codeMirror_inactive_selectedBackground: "rgba(128, 127, 127, 0.3)",
            light_codeMirror_placeholder_color: "$light_textInput_placeholder_color",
            light_codeMirror_gutter_borderColor: "$light_lightGrey",
            light_codeMirror_gutter_color: "#c8c8c8",
            light_codeMirror_gutter_background: "$light_lightGrey",
            light_codeMirror_cursor_borderColor: "#282828",
            light_codeMirror_highlight: "#e4e440",
            light_header_color: "#ffffff",
            light_header_border: "#d5dfeb",
            light_header_background: "$light_theme_color",
            light_headerLink_twitter_color: "#94c5ff",
            light_headerLink_donate_color: "#ffd17b",
            light_headerLink_contact_color: "#6dde93",
            light_headerLink_feedback_color: "#ff7b7b",
            light_headerLink_button_background: "$light_theme_color",
            light_headerLink_wiki_color: "#dadea8",
            light_sidebar_background: "$light_lightGrey",
            light_sidebar_borderColor: "#ffffff",
            light_sidebar_menuHamburger_background: "$light_theme_color",
            light_sidebar_menuHamburger_color: "#ffffff",
            light_innerSidebar_background: "#e1e1e1",
            light_innerSidebar_color: "#777777",
            light_innerSidebar_activeBackground: "#636363",
            light_innerSidebar_activeColor: "#e4e4e4",
            light_innerSidebar_dontationButton_hoverBackround: "#56845c",
            light_innerSidebar_dontationButton_hoverColor: "#ffd700",
            light_innerSidebar_sponsorButton_hoverBackround: "#ec6cb9",
            light_innerSidebar_sponsorButton_hoverColor: "#ffffff",
            light_regexSidebar_saveButton_color: "$light_multiListItem_rightElement_color",
            light_regexSidebar_favoriteButton_color: "#a03b3b",
            light_regexSidebar_deleteButton_color: "$light_regexSidebar_favoriteButton_color",
            light_regexSidebar_deleteButton_hoverBackground: "$light_regexSidebar_favoriteButton_color",
            light_regexSidebar_deleteButton_hoverColor: "#fff",
            light_rightSidebar_contentArea_borderColor: "#ffffff #f3f3f3 #ededed #f3f3f3",
            light_rightSidebar_contentArea_background: "$light_lighterGrey",
            light_exportMatchButton_color: "#000000",
            light_matchGroup_pos_color: "#8e8e8e",
            light_matchGroups_header_color: "#4e7bb3",
            light_matchGroups_borderColor: "#f1f1f1",
            light_matchInfo_noMatch_color: "#800f0f",
            light_rightSidebar_placeholder_color: "#a5a5a5",
            light_quickrefDetails_regex_color: "#417751",
            light_quickrefDetails_closeDetails_color: "#000000",
            light_multiListItem_rightElement_color: "#417751",
            light_listMenu_defaultContent_button_color: "#4e4e4e",
            light_listMenu_defaultContent_button_hoverColor: "#525252",
            light_listMenu_defaultContent_button_hoverBackground: "$light_innerSidebar_background",
            light_listMenu_defaultContent_button_activeColor: "#e4e4e4",
            light_listMenu_defaultContent_button_activeBackground: "#636363",
            light_listMenu_toggleContent_checkMark_color: "#1e6933",
            light_loadingScreen_background: "$light_lightGrey",
            light_loadingScreen_color: "$light_globalApp_color",
            light_logo_regular_color: "#ffffff",
            light_logo_suffix_color: "$light_logo_regular_color",
            light_logo_expressions_color: "#bae0ff",
            light_logo_regular_hoverColor: "rgba(255, 255, 255, 0.8)",
            light_logo_suffix_hoverColor: "$light_logo_regular_hoverColor",
            light_logo_expressions_hoverColor: "rgba(186, 224, 255, 0.8)",
            light_menuContainer_color: "$light_globalApp_color",
            light_menuContainer_background: "$light_lightGrey",
            light_menuContainer_border: "rgba(0, 0, 0, 0.15)",
            light_menuHeader_color: "color($light_theme_color blackness(+5%))",
            light_menuItem_color: "#505050",
            light_menuItem_hoverColor: "$light_menuItem_color",
            light_menuItem_hoverBackground: "#d8d8d8",
            light_menuItem_activeBackground: "#cacaca",
            light_menuDivider_color: "#e1e1e1",
            light_flagsMenu_flag_color: "$light_menuHeader_color",
            light_flagsMenu_description_color: "#888888",
            light_modalBody_background: "$light_lightGrey",
            light_modalHeader_color: "#ffffff",
            light_modalHeader_background: "$light_theme_color",
            light_modalHeader_titleIcon_color: "#abc3e0",
            light_modalFooter_background: "#e4e4e4",
            light_modalFooter_borderColor: "#d0d0d0",
            light_modal_closeButton_color: "$light_modalHeader_titleIcon_color",
            light_modal_closeButton_hoverColor: "color($light_modal_closeButton_color lightness(+30%))",
            light_modal_closeButton_activeColor: "color($light_modal_closeButton_color lightness(+15%))",
            light_modal_backdrop_background: "hsla(0, 0%, 40%, 0.6)",
            light_modal_boxShadow_color: "color($light_modal_backdrop_background blackness(+10%))",
            light_submitToLibraryModal_success_color: "#357b35",
            light_pageArrow_color: "#177359",
            light_debugStep_background: "#ececec",
            light_debugStep_lineNumber_color: "#344f71",
            light_debugStep_regexHighlight_color: "#edfff9",
            light_debugStep_regexHighlight_background: "#129163",
            light_debugStep_regex_color: "#848484",
            light_debugStep_backtrackIcon_color: "#d20000",
            light_regexDebugger_match_color: "#338433",
            light_regexDebugger_noMatch_color: "#cc3f3f",
            light_matchGroup_0: "#c6e3ff",
            light_matchGroup_0_alt: "#74c4ff",
            light_matchGroup_1: "#c6e99d",
            light_matchGroup_2: "#f5aba5",
            light_matchGroup_3: "#ffbf6d",
            light_matchGroup_4: "#c1cbeb",
            light_matchGroup_5: "#d7fde3",
            light_matchGroup_6: "#e3ffac",
            light_matchGroup_7: "#e88dee",
            light_matchGroup_8: "#cfdd67",
            light_matchGroup_9: "#ffacc0",
            light_matchGroup_10: "#84d6ee",
            light_matchIndicator_noMatch_color: "#fdfdfd",
            light_matchIndicator_noMatch_background: "#6d6d6d",
            light_matchIndicator_match_color: "#ffffff",
            light_matchIndicator_match_background: "#5a9282",
            light_matchIndicator_error_color: "#ffffff",
            light_matchIndicator_error_background: "#d03f3f",
            light_delimiterSelector_color: "#c5c5c5",
            light_delimiterSelector_hoverColor: "$light_theme_color",
            light_delimiterSelector_activeColor: "#5b9cec",
            light_optionsContainer_delimiter_color: "$light_delimiterSelector_color",
            light_optionsContainer_color: "#5d7f68",
            light_optionsContainer_flagButton_color: "$light_delimiterSelector_color",
            light_optionsContainer_flagButton_hoverColor: "#719c7f",
            light_optionsContainer_flagButton_activeColor: "$light_optionsContainer_color",
            light_regexAreaLabel_versionSelector_color: "$light_genericButton_color",
            light_genericButton_color: "#000000",
            light_testareaTooltip_match_borderColor: "rgba(255, 255, 255, 0.08)",
            light_testareaTooltip_matchNumber_color: "#12cc12",
            light_testareaTooltip_groupNumber_color: "#4caaff",
            light_tooltipped_color: "#ffffff",
            light_tooltipped_background: "rgba(0, 0, 0, 0.8)",
            light_numberedItem_number_color: "#4f6b8e",
            light_testCreator_borderColor: "rgba(58, 58, 58, 0.1)",
            light_testDetails_details_color: "rgba(0, 0, 0, 0.65)",
            light_testDetails_target_background: "rgba(255, 255, 255, 0.5)",
            light_testDetails_criteria_background: "$light_testDetails_target_background",
            light_testDetails_testString_background: "$light_testDetails_target_background",
            light_testDetails_compareString_background: "$light_testDetails_target_background",
            light_testList_tools_color: "#6f6f6f",
            light_testList_tools_fail_color: "#ffffff",
            light_testList_tools_pass_color: "#ffffff",
            light_testList_testRowParent_color: "#585858",
            light_testList_testRowParent_background: "#e6e6e6",
            light_testList_testRowParent_fail_background: "#ffcaca",
            light_testList_testRowParent_pass_background: "#cce8d0",
            light_testList_testRow_background: "color($light_testList_testRowParent_background blackness(+5%))",
            light_testList_testRow_hoverBackground: "color($light_testList_testRowParent_background blackness(+10%))",
            light_testList_testRow_activeBackground: "color($light_testList_testRowParent_background blackness(+8%))",
            light_testList_testRow_fail_background: "#d03b3b",
            light_testList_testRow_fail_color: "#ffffff",
            light_testList_testRow_fail_hoverBackground: "color($light_testList_testRow_fail_background lightness(+10%))",
            light_testList_testRow_fail_activeBackground: "color($light_testList_testRow_fail_background lightness(+5%))",
            light_testList_testRow_pass_background: "#46a754",
            light_testList_testRow_pass_color: "#ffffff",
            light_testList_testRow_pass_hoverBackground: "color($light_testList_testRow_pass_background lightness(+10%))",
            light_testList_testRow_pass_activeBackground: "color($light_testList_testRow_pass_background lightness(+5%))",
            light_testController_borderColor: "#d2d2d2",
            light_rootLabel_flags_color: "$light_optionsContainer_color",
            light_rootLabel_delimiter_color: "color($light_delimiterSelector_color lightness(50%))",
            light_tokenStyles_keyword_color: "#1e7d58",
            light_tokenStyles_info_color: "#b5b5b5",
            light_tokenStyles_tokenSample_background: "#f3db90",
            light_tokenStyles_tokenSample_color: "#7b610e",
            light_tokenStyles_plainText_background: "#eeeeee",
            light_tokenStyles_plainText_color: "#555555",
            light_tokenStyles_flag_color: "#530c8e",
            light_tokenStyles_flags_color: "$light_optionsContainer_color",
            light_tokenStyles_delimiter_color: "color($light_rootLabel_delimiter_color lightness(85%))",
            light_tokenStyles_parentTokens_color: "#eeeeee",
            light_tokenStyles_groupSuffix_positive_color: "#658c65",
            light_tokenStyles_groupSuffix_negative_color: "#9a2d2b",
            light_tokenStyles_groupSuffix_none_color: "#aaaaaa",
            light_regexLibrary_libraryEntry_background: "$light_lightGrey",
            light_voteButton_downvote_color: "#6d0000",
            light_voteButton_upvote_color: "#007300",
            light_libraryEntry_author_color: "#8a5e5e",
            light_libraryEntry_noDescription_color: "#a2a2a2",
            light_libraryEntry_dateAndAuthor_color: "$light_libraryEntry_noDescription_color",
            light_libraryEntry_title_color: "#0b3c79",
            light_libraryEntry_title_hoverColor: "color($light_libraryEntry_title_color lightness(+20%) saturation(+10%))",
            light_libraryEntry_background: "$light_sidebar_background",
            light_libraryEntry_entryButton_activeColor: "$light_innerSidebar_activeColor",
            light_libraryEntry_entryButton_activeBackground: "$light_innerSidebar_activeBackground",
            light_treeview_arrow_color: "#000000",
            light_treeview_arrow_hoverColor: "#40d0c7",
            light_lengthCounter_background: "$light_lightGrey",
            light_lengthCounter_color: "#adadad",
            light_textInput_activeBorderColor: "$light_theme_color",
            light_textInput_borderColor: "#bdbdbd",
            light_textInput_background: "#ffffff",
            light_textInput_disabled_background: "#fafafa",
            light_textInput_disabled_color: "#757575",
            light_textInput_error_background: "#a54444",
            light_textInput_error_color: "#fff8f8",
            light_textInput_error_borderColor: "#752020",
            light_textInput_error_activeBorderColor: "color($light_textInput_error_background blackness(+20%))",
            light_textInput_activeBoxShadow: "inset 0 1px 2px rgba(0, 0, 0, 0.075), 0 0 5px rgba(69, 122, 187, 0.5)",
            light_textInput_error_activeBoxShadow: "inset 0 1px 2px rgba(0, 0, 0, 0.075), 0 0 5px rgba(75, 0, 0, 0.5)",
            light_textInput_placeholder_color: "#cccccc",
            light_textInput_color: "$light_globalApp_color",
            light_button_color: "$light_lightGrey",
            light_button_execute_background: "#38964E",
            light_button_ok_background: "$light_theme_color",
            light_button_cancel_background: "#666666",
            light_button_danger_background: "#B83E3E",
            light_label_color: "#344f71",
            light_label_borderColor: "rgba(58, 58, 58, 0.1)",
            light_expandableLabel_color: "#a9a9a9",
            light_expandableLabel_hoverColor: "#344f71",
            light_expandableLabel_activeColor: "#5a84b9",
            light_link_color: "$light_theme_color",
            light_link_visitedColor: "$light_link_color",
            light_link_hoverColor: "$light_link_color",
            light_link_activeColor: "color($light_link_color blackness(+30%))",
            light_notice_error_color: "#b54d4d",
            light_notice_warning_color: "#daa520",
            light_notice_info_color: "#676767",
            light_spinner_borderColor: "$light_theme_color",
            light_basicContainer_borderColor: "$light_textInput_borderColor",
            light_basicContainer_background: "$light_textInput_background",
            light_copyButton_color: "#000000",
            light_fullscreenLayer_background: "$light_sidebar_background",
            light_fullscreenLayer_exitButton_color: "$light_theme_color",
            light_markdownContainer_header_borderColor: "$light_darkGrey",
            light_markdownContainer_code_background: "rgba(0, 0, 0, 0.04)",
            light_markdownContainer_pre_background: "$light_lightGrey",
            light_markdownContainer_blockQuote_borderColor: "#dddddd",
            light_markdownContainer_blockQuote_color: "#777777",
            light_markdownContainer_hr_background: "#e7e7e7",
            light_markdownEditor_borderColor: "$light_rightSidebar_contentArea_borderColor",
            light_markdownEditor_background: "$light_rightSidebar_contentArea_background",
            light_markdownEditor_previewWindow_borderColor: "#e0e0e0",
            light_markdownEditor_tab_color: "#333333",
            light_toolbarItem_color: "#767676",
            light_toolbarItem_hoverColor: "$light_theme_color",
            light_toolbarItem_activeColor: "color($light_toolbarItem_hoverColor blackness(+10%))",
            light_markdownEditor_toolbar_background: "#efefef"
        }
    },
    "./app/js/utils/Raven.js": function(e, t, n) {
        "use strict";
        var r, o = n("./node_modules/can-use-dom/index.js");
        n.n(o).a && (r = n("./node_modules/raven-js/src/singleton.js"));
        var a = {
            setUserContext: function() {
                var e;
                r && (e = r).setUserContext.apply(e, arguments)
            },
            config: function() {
                var e;
                return r ? (e = r).config.apply(e, arguments) : {
                    install: function() {}
                }
            },
            captureException: function() {
                var e;
                r && (e = r).captureException.apply(e, arguments)
            },
            setExtraContext: function() {
                var e;
                r && (e = r).setExtraContext.apply(e, arguments)
            },
            setRelease: function() {
                var e;
                r && (e = r).setRelease.apply(e, arguments)
            }
        };
        t.a = a
    },
    "./app/js/utils/StorageInterface.js": function(e, t, n) {
        "use strict";
        var r = n("./node_modules/can-use-dom/index.js"),
            o = n.n(r);

        function a(e, t) {
            for (var n = 0; n < t.length; n++) {
                var r = t[n];
                r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(e, r.key, r)
            }
        }
        var i = function() {
            function e() {
                ! function(e, t) {
                    if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function")
                }(this, e)
            }
            var t, n, r;
            return t = e, (n = [{
                key: "get",
                value: function(e) {
                    if (!o.a) return Promise.resolve({});
                    if (!window.localStorage || "function" !== typeof window.localStorage.getItem) return Promise.reject(new Error("localStorage not accessible or function `getItem` missing. Aborting."));
                    var t;
                    try {
                        return t = window.localStorage.getItem(e), Promise.resolve(JSON.parse(t) || null)
                    } catch (n) {
                        return Promise.reject(n)
                    }
                }
            }, {
                key: "save",
                value: function(e, t) {
                    if (!o.a) return Promise.resolve();
                    if (!window.localStorage || "function" !== typeof window.localStorage.getItem) return Promise.reject(new Error("localStorage not accessible or function `setItem` missing. Aborting."));
                    var n = JSON.stringify(t);
                    try {
                        window.localStorage.setItem(e, n)
                    } catch (r) {
                        return Promise.reject(r)
                    }
                    return Promise.resolve()
                }
            }]) && a(t.prototype, n), r && a(t, r), e
        }();
        t.a = new i
    },
    "./app/js/utils/codemirror.js": function(e, t, n) {
        "use strict";
        var r;
        n("./node_modules/can-use-dom/index.js") && (r = n("./node_modules/codemirror/lib/codemirror.js"), n("./node_modules/codemirror/addon/display/placeholder.js"), n("./node_modules/codemirror/addon/edit/closebrackets.js"), n("./app/js/components/CodeMirror/showWhitespace.js").default(r)), t.a = r
    },
    "./app/js/utils/cssDurationToMilliseconds.js": function(e, t, n) {
        "use strict";
        n.d(t, "a", function() {
            return o
        });
        var r = n("./app/js/utils/log.js");

        function o(e) {
            var t = parseFloat(e, 10),
                n = e.match(/m?s/);
            switch (n && (n = n[0]), n) {
                case "s":
                    return 1e3 * t;
                case "ms":
                    return t;
                default:
                    return r.a.error(new Error("Unknown unit '".concat(n, "'"))), 0
            }
        }
    },
    "./app/js/utils/decorators/index.js": function(e, t, n) {
        "use strict";
        var r = n("./node_modules/autobind-decorator/lib/index.js"),
            o = n.n(r),
            a = n("./node_modules/lodash/lodash.js");

        function i(e) {
            var t = arguments.length > 1 && void 0 !== arguments[1] && arguments[1];
            return function(n, r, o) {
                var i = o.value;
                return o.value = Object(a.debounce)(i, e, t), o
            }
        }

        function s(e, t, n) {
            var r = n.value;
            return n.value = Object(a.memoize)(r), n
        }
        var c = n("./node_modules/react/index.js"),
            u = n.n(c),
            l = n("./node_modules/can-use-dom/index.js"),
            p = n.n(l);

        function f(e) {
            return (f = "function" === typeof Symbol && "symbol" === typeof Symbol.iterator ? function(e) {
                return typeof e
            } : function(e) {
                return e && "function" === typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e
            })(e)
        }

        function y() {
            return (y = Object.assign || function(e) {
                for (var t = 1; t < arguments.length; t++) {
                    var n = arguments[t];
                    for (var r in n) Object.prototype.hasOwnProperty.call(n, r) && (e[r] = n[r])
                }
                return e
            }).apply(this, arguments)
        }

        function b(e, t) {
            for (var n = 0; n < t.length; n++) {
                var r = t[n];
                r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(e, r.key, r)
            }
        }

        function h(e, t) {
            return !t || "object" !== f(t) && "function" !== typeof t ? function(e) {
                if (void 0 === e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
                return e
            }(e) : t
        }

        function d(e) {
            return (d = Object.setPrototypeOf ? Object.getPrototypeOf : function(e) {
                return e.__proto__ || Object.getPrototypeOf(e)
            })(e)
        }

        function m(e, t) {
            return (m = Object.setPrototypeOf || function(e, t) {
                return e.__proto__ = t, e
            })(e, t)
        }
        var g = function() {
                for (var e = arguments.length, t = new Array(e), n = 0; n < e; n++) t[n] = arguments[n];
                return function(e) {
                    var n, r, a, i, s, l, f;
                    return r = (n = function(n) {
                        function r() {
                            var e, t;
                            ! function(e, t) {
                                if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function")
                            }(this, r);
                            for (var n = arguments.length, o = new Array(n), a = 0; a < n; a++) o[a] = arguments[a];
                            return (t = h(this, (e = d(r)).call.apply(e, [this].concat(o)))).state = {
                                width: 0,
                                height: 0
                            }, t
                        }
                        var o, a, i;
                        return function(e, t) {
                            if ("function" !== typeof t && null !== t) throw new TypeError("Super expression must either be null or a function");
                            e.prototype = Object.create(t && t.prototype, {
                                constructor: {
                                    value: e,
                                    writable: !0,
                                    configurable: !0
                                }
                            }), t && m(e, t)
                        }(r, c.Component), o = r, (a = [{
                            key: "componentDidMount",
                            value: function() {
                                window.addEventListener("resize", this.handler), this.handler()
                            }
                        }, {
                            key: "componentWillUnmount",
                            value: function() {
                                window.removeEventListener("resize", this.handler)
                            }
                        }, {
                            key: "handler",
                            value: function() {
                                for (var e = p.a ? window.innerWidth : 1920, n = p.a ? window.innerHeight : 1080, r = this.state.width, o = 0, a = t.length; o < a; o++) {
                                    var i = t[o];
                                    if (r >= i && e <= i || r <= i && e >= i) {
                                        this.setState({
                                            width: e,
                                            height: n
                                        });
                                        break
                                    }
                                }
                            }
                        }, {
                            key: "render",
                            value: function() {
                                return u.a.createElement(e, y({}, this.props, {
                                    viewport: this.state
                                }))
                            }
                        }]) && b(o.prototype, a), i && b(o, i), r
                    }()).prototype, a = "handler", i = [o.a], s = Object.getOwnPropertyDescriptor(n.prototype, "handler"), l = n.prototype, f = {}, Object.keys(s).forEach(function(e) {
                        f[e] = s[e]
                    }), f.enumerable = !!f.enumerable, f.configurable = !!f.configurable, ("value" in f || f.initializer) && (f.writable = !0), f = i.slice().reverse().reduce(function(e, t) {
                        return t(r, a, e) || e
                    }, f), l && void 0 !== f.initializer && (f.value = f.initializer ? f.initializer.call(l) : void 0, f.initializer = void 0), void 0 === f.initializer && (Object.defineProperty(r, a, f), f = null), n
                }
            },
            v = n("./node_modules/react-router-dom/es/index.js");
        var _ = function(e) {
                return Object(v.g)(e)
            },
            O = n("./node_modules/prop-types/index.js"),
            j = n.n(O),
            w = n("./app/js/utils/log.js");

        function k(e) {
            return (k = "function" === typeof Symbol && "symbol" === typeof Symbol.iterator ? function(e) {
                return typeof e
            } : function(e) {
                return e && "function" === typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e
            })(e)
        }

        function E() {
            return (E = Object.assign || function(e) {
                for (var t = 1; t < arguments.length; t++) {
                    var n = arguments[t];
                    for (var r in n) Object.prototype.hasOwnProperty.call(n, r) && (e[r] = n[r])
                }
                return e
            }).apply(this, arguments)
        }

        function S(e, t) {
            for (var n = 0; n < t.length; n++) {
                var r = t[n];
                r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(e, r.key, r)
            }
        }

        function x(e, t) {
            return !t || "object" !== k(t) && "function" !== typeof t ? function(e) {
                if (void 0 === e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
                return e
            }(e) : t
        }

        function C(e) {
            return (C = Object.setPrototypeOf ? Object.getPrototypeOf : function(e) {
                return e.__proto__ || Object.getPrototypeOf(e)
            })(e)
        }

        function P(e, t) {
            return (P = Object.setPrototypeOf || function(e, t) {
                return e.__proto__ = t, e
            })(e, t)
        }
        var T = function(e) {
            return function(t) {
                var n, r, a, i, s, l, f, y, b;
                return a = r = function(n) {
                    function r(t, n) {
                        var o;
                        if (function(e, t) {
                                if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function")
                            }(this, r), (o = x(this, C(r).call(this, t, n))).state = {}, o._isMounted = !1, o._promises = [], p.a) return x(o, o._fetchDataOnClient(!1));
                        var a = n.__initialRender,
                            i = n.__dependencyPromises,
                            s = n.__resolvedDependencies,
                            c = n.store,
                            u = e(o.props, a, !1),
                            l = Object.keys(u),
                            f = {
                                isFetchingData: !1,
                                fetchError: null
                            };
                        return a ? l.forEach(function(e) {
                            var t = u[e];
                            t && i.push(c.dispatch(t).then(function() {
                                return {
                                    depKey: e,
                                    fetchState: f
                                }
                            }).catch(function(t) {
                                return {
                                    depKey: e,
                                    fetchState: {
                                        isFetchingData: !1,
                                        fetchError: t
                                    }
                                }
                            })), o._setSafeState(e, f)
                        }) : l.forEach(function(e) {
                            var t = s[e];
                            o._setSafeState(e, t || f)
                        }), o
                    }
                    var o, a, i;
                    return function(e, t) {
                        if ("function" !== typeof t && null !== t) throw new TypeError("Super expression must either be null or a function");
                        e.prototype = Object.create(t && t.prototype, {
                            constructor: {
                                value: e,
                                writable: !0,
                                configurable: !0
                            }
                        }), t && P(e, t)
                    }(r, c.Component), o = r, (a = [{
                        key: "componentDidMount",
                        value: function() {
                            this._isMounted = !0
                        }
                    }, {
                        key: "componentWillUnmount",
                        value: function() {
                            this._isMounted = !1, this._promises.forEach(function(e) {
                                return e.cancel()
                            })
                        }
                    }, {
                        key: "_fetchDataOnClient",
                        value: function() {
                            var t = this,
                                n = !(arguments.length > 0 && void 0 !== arguments[0]) || arguments[0],
                                r = e(this.props, !1, n);
                            Object.keys(r).forEach(function(e) {
                                var n = r[e];
                                if (n) {
                                    t._setSafeState(e, {
                                        isFetchingData: !0,
                                        fetchError: null
                                    });
                                    var o = t.context.store.dispatch(n);
                                    t._promises.push(o), o.then(function() {
                                        return t._setSafeState(e, {
                                            isFetchingData: !1,
                                            fetchError: null
                                        })
                                    }).catch(function(n) {
                                        n.code === DOMException.ABORT_ERR ? w.a.warn("Fetch for dependency '".concat(e, "' aborted because the parent has unmounted")) : t._setSafeState(e, {
                                            isFetchingData: !1,
                                            fetchError: n
                                        })
                                    })
                                } else t._setSafeState(e, {
                                    isFetchingData: !1,
                                    fetchError: null
                                })
                            })
                        }
                    }, {
                        key: "_setSafeState",
                        value: function(e, t) {
                            this._isMounted ? this.setState(function(e, t, n) {
                                return t in e ? Object.defineProperty(e, t, {
                                    value: n,
                                    enumerable: !0,
                                    configurable: !0,
                                    writable: !0
                                }) : e[t] = n, e
                            }({}, e, t)) : this.state[e] = t
                        }
                    }, {
                        key: "render",
                        value: function() {
                            return u.a.createElement(t, E({}, this.props, this.state, {
                                fetchData: this._fetchDataOnClient
                            }))
                        }
                    }]) && S(o.prototype, a), i && S(o, i), r
                }(), r.contextTypes = {
                    __dependencyPromises: j.a.array,
                    __resolvedDependencies: j.a.object,
                    __initialRender: j.a.bool,
                    store: j.a.object.isRequired
                }, r.displayName = "fetchData(".concat(t.displayName || t.name || "Unknown", ")"), i = (n = a).prototype, s = "_fetchDataOnClient", l = [o.a], f = Object.getOwnPropertyDescriptor(n.prototype, "_fetchDataOnClient"), y = n.prototype, b = {}, Object.keys(f).forEach(function(e) {
                    b[e] = f[e]
                }), b.enumerable = !!b.enumerable, b.configurable = !!b.configurable, ("value" in b || b.initializer) && (b.writable = !0), b = l.slice().reverse().reduce(function(e, t) {
                    return t(i, s, e) || e
                }, b), y && void 0 !== b.initializer && (b.value = b.initializer ? b.initializer.call(y) : void 0, b.initializer = void 0), void 0 === b.initializer && (Object.defineProperty(i, s, b), b = null), n
            }
        };
        n.d(t, "a", function() {
            return o.a
        }), n.d(t, "b", function() {
            return i
        }), n.d(t, "e", function() {
            return s
        }), n.d(t, !1, function() {}), n.d(t, "d", function() {
            return g
        }), n.d(t, "f", function() {
            return _
        }), n.d(t, "c", function() {
            return T
        })
    },
    "./app/js/utils/escape.js": function(e, t, n) {
        "use strict";
        n.d(t, "b", function() {
            return a
        }), n.d(t, "c", function() {
            return i
        }), n.d(t, "a", function() {
            return s
        });
        var r = n("./node_modules/lodash/lodash.js"),
            o = n.n(r);

        function a(e) {
            for (var t = arguments.length, n = new Array(t > 1 ? t - 1 : 0), r = 1; r < t; r++) n[r - 1] = arguments[r];
            if (null == e) return null;
            if (o.a.isEmpty(n) || !n) return e;
            for (var a = 0, i = "", s = 0, c = e.length; s < c; s++) {
                var u = e.charAt(s); - 1 !== n.indexOf(u) && a % 2 === 0 ? (i += "\\" + u, a = 0) : (i += u, "\\" === u ? a++ : a = 0)
            }
            return a % 2 !== 0 && (i += "\\"), i
        }

        function i(e) {
            for (var t = arguments.length, n = new Array(t > 1 ? t - 1 : 0), r = 1; r < t; r++) n[r - 1] = arguments[r];
            if (null == e) return null;
            if (o.a.isEmpty(n) || !n) return e;
            for (var a = "", i = 0, s = e.length; i < s; i++) {
                var c = e.charAt(i); - 1 !== n.indexOf(c) ? a += "\\" + c : a += c
            }
            return a
        }

        function s(e) {
            if (null == e) return "";
            for (var t = 0, n = "", r = 0, o = e.length; r < o; r++) {
                var a = e.charAt(r);
                "'" === a && t % 2 === 0 ? (n += "\\" + a, t = 0) : (n += a, "\\" === a ? t++ : t = 0)
            }
            return n
        }
    },
    "./app/js/utils/events.js": function(e, t, n) {
        "use strict";
        var r = n("./node_modules/can-use-dom/index.js"),
            o = n.n(r),
            a = n("./app/js/utils/log.js");

        function i(e) {
            return (i = "function" === typeof Symbol && "symbol" === typeof Symbol.iterator ? function(e) {
                return typeof e
            } : function(e) {
                return e && "function" === typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e
            })(e)
        }

        function s(e) {
            return function(e) {
                if (Array.isArray(e)) {
                    for (var t = 0, n = new Array(e.length); t < e.length; t++) n[t] = e[t];
                    return n
                }
            }(e) || function(e) {
                if (Symbol.iterator in Object(e) || "[object Arguments]" === Object.prototype.toString.call(e)) return Array.from(e)
            }(e) || function() {
                throw new TypeError("Invalid attempt to spread non-iterable instance")
            }()
        }

        function c(e, t) {
            if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function")
        }

        function u(e, t) {
            for (var n = 0; n < t.length; n++) {
                var r = t[n];
                r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(e, r.key, r)
            }
        }

        function l(e, t, n) {
            return t && u(e.prototype, t), n && u(e, n), e
        }
        var p = function() {
                function e() {
                    c(this, e), this._events = {}, this._maxListeners = 10
                }
                return l(e, [{
                    key: "setMaxListeners",
                    value: function(e) {
                        if ("number" !== typeof e || e < 0 || isNaN(e)) throw TypeError("n must be a positive number");
                        return this._maxListeners = e, this
                    }
                }, {
                    key: "emit",
                    value: function(e) {
                        var t, n;
                        if (this._events || (this._events = {}), "error" === e && (!this._events.error || h(this._events.error) && !this._events.error.length)) {
                            if ((t = arguments[1]) instanceof Error) throw t;
                            var r = new Error('Uncaught, unspecified "error" event. (' + t + ")");
                            throw r.context = t, r
                        }
                        var o = this._events[e];
                        if (void 0 === o) return !1;
                        var a = new f;
                        if (b(o)) switch (arguments.length) {
                            case 1:
                                o.call(this, a);
                                break;
                            case 2:
                                o.call(this, a, arguments[1]);
                                break;
                            case 3:
                                o.call(this, a, arguments[1], arguments[2]);
                                break;
                            default:
                                n = [a].concat(s(Array.prototype.slice.call(arguments, 1))), o.apply(this, n)
                        } else if (h(o)) {
                            n = [a].concat(s(Array.prototype.slice.call(arguments, 1)));
                            for (var i = o.slice(), c = i.length - 1; c >= 0 && (i[c].apply(this, n), !a.hasStoppedPropagation); c--);
                        } return !0
                    }
                }, {
                    key: "addListener",
                    value: function(e, t) {
                        if (o.a) {
                            if (!b(t)) throw TypeError("listener must be a function");
                            return this._events[e] ? h(this._events[e]) ? -1 !== this._events[e].indexOf(t) ? a.a.error(new Error("Listener for ".concat(e, " added multiple times")), {
                                name: t.name
                            }) : this._events[e].push(t) : this._events[e] === t ? a.a.error(new Error("Listener for ".concat(e, " already added")), {
                                name: t.name
                            }) : this._events[e] = [this._events[e], t] : this._events[e] = t, h(this._events[e]) && !this._events[e].warned && this._events[e].length > this._maxListeners && (this._events[e].warned = !0, a.a.error(new Error("Possible EventEmitter memory leak detected. %d listeners added. Use setMaxListeners() to increase limit."), {
                                count: this._events[e].length
                            })), this
                        }
                    }
                }, {
                    key: "on",
                    value: function(e) {
                        if (y(e)) return this.addListener.apply(this, arguments);
                        for (var t in e) e.hasOwnProperty(t) && this.addListener.call(this, t, e[t]);
                        return this
                    }
                }, {
                    key: "once",
                    value: function(e, t) {
                        if (!b(t)) throw TypeError("listener must be a function");
                        var n = !1;

                        function r() {
                            this.removeListener(e, r), n || (n = !0, t.apply(this, arguments))
                        }
                        return r.listener = t, this.on(e, r), this
                    }
                }, {
                    key: "removeListener",
                    value: function(e, t) {
                        if (!b(t)) throw TypeError("listener must be a function");
                        if (!this._events || !this._events[e]) return this;
                        var n = this._events[e];
                        if (n === t || b(n.listener) && n.listener === t) delete this._events[e], this._events.removeListener && this.emit("removeListener", e, t);
                        else if (h(n)) {
                            for (var r = -1, o = n.length - 1; o >= 0; o--)
                                if (n[o] === t || n[o].listener && n[o].listener === t) {
                                    r = o;
                                    break
                                } if (r < 0) return this;
                            1 === n.length ? (n.length = 0, delete this._events[e]) : n.splice(r, 1), this._events.removeListener && this.emit("removeListener", e, t)
                        }
                        return this
                    }
                }, {
                    key: "off",
                    value: function(e) {
                        if (y(e)) return this.removeListener.apply(this, arguments);
                        for (var t in e) e.hasOwnProperty(t) && this.removeListener(t, e[t]);
                        return this
                    }
                }, {
                    key: "removeAllListeners",
                    value: function(e) {
                        if (!this._events) return this;
                        if (!this._events.removeListener) return 0 === arguments.length ? this._events = {} : this._events[e] && delete this._events[e], this;
                        if (0 === arguments.length) {
                            for (var t in this._events) "removeListener" !== t && this.removeAllListeners(t);
                            return this.removeAllListeners("removeListener"), this._events = {}, this
                        }
                        var n = this._events[e];
                        if (b(n)) this.removeListener(e, n);
                        else if (n)
                            for (; n.length;) this.removeListener(e, n[n.length - 1]);
                        return delete this._events[e], this
                    }
                }, {
                    key: "listeners",
                    value: function(e) {
                        return this._events && this._events[e] ? b(this._events[e]) ? [this._events[e]] : this._events[e].slice() : []
                    }
                }, {
                    key: "listenerCount",
                    value: function(e) {
                        if (this._events) {
                            var t = this._events[e];
                            if (b(t)) return 1;
                            if (t) return t.length
                        }
                        return 0
                    }
                }]), e
            }(),
            f = function() {
                function e() {
                    c(this, e), this.hasStoppedPropagation = !1
                }
                return l(e, [{
                    key: "stopPropagation",
                    value: function() {
                        this.hasStoppedPropagation = !0
                    }
                }]), e
            }();

        function y(e) {
            return "string" === typeof e
        }

        function b(e) {
            return "function" === typeof e
        }

        function h(e) {
            return "object" === i(e) && null !== e
        }
        t.a = new p
    },
    "./app/js/utils/log.js": function(e, t, n) {
        "use strict";
        var r = n("./node_modules/can-use-dom/index.js"),
            o = n.n(r),
            a = n("./node_modules/loglevel/lib/loglevel.js"),
            i = n.n(a),
            s = n("./app/js/utils/Raven.js"),
            c = {
                info: function() {
                    i.a.info.apply(i.a, arguments)
                },
                warn: function() {
                    i.a.warn.apply(i.a, arguments)
                },
                error: function(e) {
                    var t = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : {};
                    o.a && Object.assign(t, {
                        windowWidth: window.innerWidth,
                        windowHeight: window.innerHeight
                    }), s.a.captureException(e, {
                        extra: t
                    }), i.a.error.apply(i.a, arguments)
                }
            };
        t.a = c
    },
    "./app/js/utils/t.js": function(e, t, n) {
        "use strict";

        function r(e) {
            return (r = "function" === typeof Symbol && "symbol" === typeof Symbol.iterator ? function(e) {
                return typeof e
            } : function(e) {
                return e && "function" === typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e
            })(e)
        }
        n.d(t, "b", function() {
            return a
        });
        var o = {};

        function a(e) {
            o = e
        }
        t.a = function(e) {
            var t = arguments;
            return (o[e] || e).replace(/{[1-9]\d*}/g, function(n) {
                var o = parseInt(n.slice(1, -1), 10);
                if (null == t[o]) throw new Error("Placeholder '".concat(o, "' referencing invalid argument: '").concat(e, "'"));
                if ("string" !== typeof t[o] && "number" !== typeof t[o]) throw new Error("Placeholder '".concat(o, "' is not a string: '").concat(r(t[o]), "'"));
                return t[o]
            })
        }
    },
    "./app/js/utils/urlHelpers.js": function(e, t, n) {
        "use strict";

        function r(e) {
            var t = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : 1,
                n = arguments.length > 2 ? arguments[2] : void 0;
            if (!e) return "/";
            var r = "/r/" + e + "/" + t;
            return n ? n.replace(/^(?:\/r\/[a-zA-Z0-9]+\/\d+)?/, r) : r
        }

        function o(e) {
            return e.replace(/\/\//g, "/")
        }

        function a(e) {
            var t = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : "";
            return e = (e || "").replace(/\/$/g, ""), ".." === t ? e.split("/").slice(0, -1).join("/") || "/" : t ? e + "/" + t : e
        }
        n.d(t, "a", function() {
            return r
        }), n.d(t, "b", function() {
            return o
        }), n.d(t, "c", function() {
            return a
        })
    },
    "./app/main.js": function(e, t, n) {
        "use strict";
        n.r(t);
        var r = {};
        n.r(r), n.d(r, "rightSidebar", function() {
            return g
        }), n.d(r, "regexEditor", function() {
            return S
        }), n.d(r, "settings", function() {
            return T
        }), n.d(r, "unitTests", function() {
            return I
        }), n.d(r, "general", function() {
            return q
        }), n.d(r, "account", function() {
            return U
        }), n.d(r, "regexLibrary", function() {
            return K
        }), n.d(r, "libraryEntry", function() {
            return Y
        }), n.d(r, "quiz", function() {
            return te
        });
        var o = n("./node_modules/react/index.js"),
            a = n.n(o),
            i = n("./node_modules/react-dom/index.js"),
            s = n("./app/js/utils/log.js"),
            c = n("./node_modules/redux/es/redux.js"),
            u = n("./node_modules/redux-thunk/lib/index.js"),
            l = n.n(u),
            p = "EXPLANATION",
            f = [p, "QUICKREF", "MATCH_INFO"],
            y = n("./app/js/actionCreator/actionTypes.js");

        function b(e) {
            return function(e) {
                if (Array.isArray(e)) {
                    for (var t = 0, n = new Array(e.length); t < e.length; t++) n[t] = e[t];
                    return n
                }
            }(e) || function(e) {
                if (Symbol.iterator in Object(e) || "[object Arguments]" === Object.prototype.toString.call(e)) return Array.from(e)
            }(e) || function() {
                throw new TypeError("Invalid attempt to spread non-iterable instance")
            }()
        }

        function h(e) {
            for (var t = 1; t < arguments.length; t++) {
                var n = null != arguments[t] ? arguments[t] : {},
                    r = Object.keys(n);
                "function" === typeof Object.getOwnPropertySymbols && (r = r.concat(Object.getOwnPropertySymbols(n).filter(function(e) {
                    return Object.getOwnPropertyDescriptor(n, e).enumerable
                }))), r.forEach(function(t) {
                    d(e, t, n[t])
                })
            }
            return e
        }

        function d(e, t, n) {
            return t in e ? Object.defineProperty(e, t, {
                value: n,
                enumerable: !0,
                configurable: !0,
                writable: !0
            }) : e[t] = n, e
        }
        var m = {
            activeSubsection: p,
            visibleSections: [p, "MATCH_INFO", "QUICKREF"],
            hiddenSections: [],
            width: null
        };
        var g = function() {
                var e = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : m,
                    t = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : {};
                switch (t.type) {
                    case y.H:
                        return h({}, e, {
                            width: t.value
                        });
                    case y.W:
                        var n = t.value.subsection,
                            r = e.visibleSections.includes(n);
                        return h({}, e, r ? {
                            visibleSections: e.visibleSections.filter(function(e) {
                                return e !== n
                            }),
                            hiddenSections: [].concat(b(e.hiddenSections), [n])
                        } : {
                            visibleSections: [].concat(b(e.visibleSections), [n]),
                            hiddenSections: e.hiddenSections.filter(function(e) {
                                return e !== n
                            })
                        });
                    case y.k:
                        return h({}, e, {
                            activeSubsection: t.value
                        });
                    case y.L:
                        return h({}, e, {
                            activeSubsection: p
                        });
                    default:
                        return e
                }
            },
            v = n("./app/js/constants/Flavors.js"),
            _ = n.n(v),
            O = n("./app/js/constants/Delimiters.js"),
            j = n.n(O);

        function w(e) {
            for (var t = 1; t < arguments.length; t++) {
                var n = null != arguments[t] ? arguments[t] : {},
                    r = Object.keys(n);
                "function" === typeof Object.getOwnPropertySymbols && (r = r.concat(Object.getOwnPropertySymbols(n).filter(function(e) {
                    return Object.getOwnPropertyDescriptor(n, e).enumerable
                }))), r.forEach(function(t) {
                    k(e, t, n[t])
                })
            }
            return e
        }

        function k(e, t, n) {
            return t in e ? Object.defineProperty(e, t, {
                value: n,
                enumerable: !0,
                configurable: !0,
                writable: !0
            }) : e[t] = n, e
        }
        var E = {
                flavor: v.PCRE,
                delimiter: "/",
                flags: "gm",
                regex: "",
                testString: "",
                matchResult: {
                    data: [],
                    time: 0
                },
                error: null,
                substString: "",
                hasUnsavedData: !1,
                regexVersions: 0,
                showMatchArea: !0,
                showSubstitutionArea: !1,
                showUnitTestArea: !1
            },
            S = function() {
                var e = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : E,
                    t = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : {};
                switch (t.type) {
                    case y.R:
                        return w({}, e, {
                            showMatchArea: !1,
                            showUnitTestArea: !0
                        });
                    case y.Q:
                        return w({}, e, {
                            showMatchArea: !1,
                            showSubstitutionArea: !0,
                            showUnitTestArea: !1
                        });
                    case y.P:
                        return w({}, e, {
                            showMatchArea: !0,
                            showSubstitutionArea: !1,
                            showUnitTestArea: !1
                        });
                    case y.C:
                        return Object.assign({}, e, {
                            flavor: t.value,
                            hasUnsavedData: !0
                        });
                    case y.B:
                        return Object.assign({}, e, {
                            flags: t.value,
                            hasUnsavedData: !0
                        });
                    case y.z:
                        return Object.assign({}, e, {
                            delimiter: t.value,
                            hasUnsavedData: !0
                        });
                    case y.D:
                        return Object.assign({}, e, {
                            matchResult: t.value
                        });
                    case y.J:
                        return Object.assign({}, e, {
                            substString: t.value,
                            hasUnsavedData: t.value !== e.substString || e.hasUnsavedData
                        });
                    case y.y:
                        return Object.assign({}, e, {
                            regex: t.value,
                            hasUnsavedData: t.value !== e.regex || e.hasUnsavedData
                        });
                    case y.K:
                        return Object.assign({}, e, {
                            testString: t.value,
                            hasUnsavedData: t.value !== e.testString || e.hasUnsavedData
                        });
                    case y.A:
                        return Object.assign({}, e, {
                            error: t.value
                        });
                    case y.a:
                    case y.c:
                    case y.d:
                    case y.h:
                        return Object.assign({}, e, {
                            hasUnsavedData: !0
                        });
                    case y.t:
                        return Object.assign({}, e, {
                            hasUnsavedData: !t.value.permalinkFragment
                        });
                    case y.U:
                        var n = e.flavor || v.PCRE;
                        "" === e.regex && e.flavor === v.PCRE && t.value.settings && t.value.settings.defaultFlavor && (n = t.value.settings.defaultFlavor);
                        var r = e.delimiter;
                        return -1 === j.a[n].indexOf(r) && (r = j.a[n][0]), Object.assign({}, e, {
                            flavor: n,
                            delimiter: r,
                            hasUnsavedData: !1
                        });
                    case y.G:
                        return w({}, e, {
                            regexVersions: t.value
                        });
                    default:
                        return e
                }
            },
            x = "light",
            C = [x, "dark"],
            P = {
                maxExecutionTime: 2e3,
                theme: x,
                nonParticipatingGroups: !1,
                displayWhitespace: !1,
                colorizeSyntax: !0,
                autoComplete: !1,
                wrapLines: !0,
                testAreaLineNumbers: !1,
                regexAreaLineNumbers: !1,
                language: "ENGLISH",
                storageSaved: null,
                storageLoaded: null,
                editorTooltips: !0,
                alwaysCollapseLeftSidebar: !1,
                alwaysCollapseRightSidebar: !1,
                defaultFlavor: v.PCRE,
                showWarningUnsavedProgress: !0
            };
        var T = function() {
                var e = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : P,
                    t = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : {};
                switch (t.type) {
                    case y.I:
                        return document.body.className = t.value.theme, Object.assign({}, e, t.value);
                    case y.U:
                        return Object.assign({}, e, {
                            storageLoaded: (new Date).getTime()
                        });
                    case y.V:
                        return Object.assign({}, e, {
                            storageSaved: (new Date).getTime()
                        });
                    default:
                        return e
                }
            },
            R = n("./node_modules/lodash/lodash.js"),
            N = n.n(R);

        function M(e) {
            return function(e) {
                if (Array.isArray(e)) {
                    for (var t = 0, n = new Array(e.length); t < e.length; t++) n[t] = e[t];
                    return n
                }
            }(e) || function(e) {
                if (Symbol.iterator in Object(e) || "[object Arguments]" === Object.prototype.toString.call(e)) return Array.from(e)
            }(e) || function() {
                throw new TypeError("Invalid attempt to spread non-iterable instance")
            }()
        }
        var A = {
            tests: [],
            editTest: {
                test: {},
                id: -1
            },
            testsRunning: !1
        };
        var I = function() {
            var e, t = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : A,
                n = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : {};
            switch (n.type) {
                case y.a:
                    return Object.assign({}, t, {
                        tests: [].concat(M(t.tests), [n.value])
                    });
                case y.c:
                    return Object.assign({}, t, {
                        tests: [].concat(M(t.tests.slice(0, n.value)), M(t.tests.slice(n.value + 1)))
                    });
                case y.T:
                    return Object.assign({}, t, {
                        editTest: {
                            id: n.value.index,
                            test: n.value.test
                        }
                    });
                case y.b:
                    return Object.assign({}, t, {
                        editTest: {
                            test: {},
                            id: -1
                        }
                    });
                case y.d:
                    return Object.assign({}, t, {
                        editTest: {
                            test: {},
                            id: -1
                        },
                        tests: [].concat(M(t.tests.slice(0, n.value.index)), [n.value.test], M(t.tests.slice(n.value.index + 1)))
                    });
                case y.h:
                    var r = n.value.oldIndex,
                        o = n.value.newIndex;
                    return (e = t.tests.slice()).splice(o, 0, e.splice(r, 1)[0]), Object.assign({}, t, {
                        tests: e
                    });
                case y.S:
                    return Object.assign({}, t, {
                        testsRunning: !0,
                        tests: t.tests.map(function(e) {
                            return N.a.omit(e, ["error", "hasError"])
                        })
                    });
                case y.f:
                    return Object.assign({}, t, {
                        testsRunning: !1
                    });
                case y.M:
                    return Object.assign({}, t, {
                        tests: [].concat(M(t.tests.slice(0, n.value.index)), [Object.assign({}, t.tests[n.value.index], {
                            error: n.value.error,
                            hasError: !!n.value.error,
                            steps: n.value.steps || null,
                            time: n.value.time
                        })], M(t.tests.slice(n.value.index + 1)))
                    });
                default:
                    return t
            }
        };

        function L(e, t, n) {
            return t in e ? Object.defineProperty(e, t, {
                value: n,
                enumerable: !0,
                configurable: !0,
                writable: !0
            }) : e[t] = n, e
        }
        var D = {
            permalinkFragment: null,
            version: null,
            deleteCode: null,
            userId: null,
            email: null,
            profilePicture: null,
            serviceProvider: null,
            isFavorite: !1,
            isLibraryEntry: !1,
            title: null,
            cookie: "",
            sponsorData: null
        };
        var q = function() {
            var e = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : D,
                t = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : {};
            switch (t.type) {
                case y.l:
                    return function(e) {
                        for (var t = 1; t < arguments.length; t++) {
                            var n = null != arguments[t] ? arguments[t] : {},
                                r = Object.keys(n);
                            "function" === typeof Object.getOwnPropertySymbols && (r = r.concat(Object.getOwnPropertySymbols(n).filter(function(e) {
                                return Object.getOwnPropertyDescriptor(n, e).enumerable
                            }))), r.forEach(function(t) {
                                L(e, t, n[t])
                            })
                        }
                        return e
                    }({}, e, {
                        sponsorData: t.value || null
                    });
                case y.t:
                    var n = t.value,
                        r = n.permalinkFragment,
                        o = n.version,
                        a = n.deleteCode,
                        i = void 0 === a ? e.deleteCode : a,
                        s = n.isLibraryEntry,
                        c = void 0 === s ? e.isLibraryEntry : s,
                        u = n.title,
                        l = void 0 === u ? e.title : u;
                    return Object.assign({}, e, {
                        error: null,
                        isFavorite: !1,
                        permalinkFragment: r,
                        version: o,
                        deleteCode: i,
                        isLibraryEntry: c,
                        title: l
                    });
                case y.N:
                    var p = t.value,
                        f = p.userId,
                        b = p.email,
                        h = p.profilePicture,
                        d = p.serviceProvider;
                    return Object.assign({}, e, {
                        userId: f,
                        email: b,
                        profilePicture: h,
                        serviceProvider: d
                    });
                case y.e:
                    return Object.assign({}, e, {
                        isFavorite: t.value
                    });
                case y.m:
                    return Object.assign({}, e, {
                        cookie: t.value
                    });
                case y.n:
                    return Object.assign({}, e, {
                        deleteCode: t.value
                    });
                case y.o:
                    return Object.assign({}, e, {
                        title: t.value
                    });
                default:
                    return e
            }
        };

        function F(e) {
            return function(e) {
                if (Array.isArray(e)) {
                    for (var t = 0, n = new Array(e.length); t < e.length; t++) n[t] = e[t];
                    return n
                }
            }(e) || function(e) {
                if (Symbol.iterator in Object(e) || "[object Arguments]" === Object.prototype.toString.call(e)) return Array.from(e)
            }(e) || function() {
                throw new TypeError("Invalid attempt to spread non-iterable instance")
            }()
        }

        function z(e, t, n) {
            return t in e ? Object.defineProperty(e, t, {
                value: n,
                enumerable: !0,
                configurable: !0,
                writable: !0
            }) : e[t] = n, e
        }
        var G = {
            data: [],
            pages: 0,
            allTags: [],
            staleData: !0
        };

        function B(e, t, n) {
            return {
                data: [].concat(F(e.data.slice(0, t)), [n], F(e.data.slice(t + 1)))
            }
        }
        var U = function() {
            var e = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : G,
                t = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : {};
            switch (t.type) {
                case y.O:
                    return Object.assign({}, e, function(e) {
                        for (var t = 1; t < arguments.length; t++) {
                            var n = null != arguments[t] ? arguments[t] : {},
                                r = Object.keys(n);
                            "function" === typeof Object.getOwnPropertySymbols && (r = r.concat(Object.getOwnPropertySymbols(n).filter(function(e) {
                                return Object.getOwnPropertyDescriptor(n, e).enumerable
                            }))), r.forEach(function(t) {
                                z(e, t, n[t])
                            })
                        }
                        return e
                    }({}, t.value));
                case y.j:
                    var n = t.value,
                        r = n.itemIndex,
                        o = n.isFavorite,
                        a = Object.assign({}, e.data[r], {
                            isFavorite: o
                        });
                    return Object.assign({}, e, B(e, r, a));
                case y.E:
                    var i = t.value,
                        s = i.itemIndex,
                        c = i.tags,
                        u = Object.assign({}, e.data[s], {
                            tags: F(c)
                        }),
                        l = N.a.uniq(e.allTags.concat(c));
                    return Object.assign({}, e, B(e, s, u), {
                        allTags: l
                    });
                case y.F:
                    var p = t.value,
                        f = p.itemIndex,
                        b = p.title,
                        h = Object.assign({}, e.data[f], {
                            title: b
                        });
                    return Object.assign({}, e, B(e, f, h));
                default:
                    return e
            }
        };

        function H(e) {
            return function(e) {
                if (Array.isArray(e)) {
                    for (var t = 0, n = new Array(e.length); t < e.length; t++) n[t] = e[t];
                    return n
                }
            }(e) || function(e) {
                if (Symbol.iterator in Object(e) || "[object Arguments]" === Object.prototype.toString.call(e)) return Array.from(e)
            }(e) || function() {
                throw new TypeError("Invalid attempt to spread non-iterable instance")
            }()
        }
        var W = {
            libraryData: [],
            pages: 0,
            details: null
        };

        function V(e, t) {
            var n = e.userVote > 0 ? e.upvotes - 1 : e.upvotes,
                r = e.userVote < 0 ? e.downvotes - 1 : e.downvotes;
            return t > 0 ? n++ : t < 0 && r++, Object.assign({}, e, {
                userVote: t,
                upvotes: n,
                downvotes: r
            })
        }
        var K = function() {
                var e = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : W,
                    t = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : {};
                switch (t.type) {
                    case y.p:
                        var n = t.value,
                            r = n.libraryData,
                            o = n.pages;
                        return Object.assign({}, e, {
                            libraryData: r,
                            pages: o
                        });
                    case y.Y:
                        var a = t.value,
                            i = a.entryIdx,
                            s = a.vote;
                        return Object.assign({}, e, {
                            libraryData: [].concat(H(e.libraryData.slice(0, i)), [V(e.libraryData[i], s)], H(e.libraryData.slice(i + 1)))
                        });
                    case y.q:
                        return Object.assign({}, e, {
                            details: t.value
                        });
                    default:
                        return e
                }
            },
            $ = {
                title: null,
                description: null,
                author: null
            };
        var Y = function() {
            var e = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : $,
                t = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : {};
            switch (t.type) {
                case y.r:
                    var n = t.value,
                        r = n.title,
                        o = n.description,
                        a = n.author;
                    return Object.assign({}, e, {
                        title: r,
                        description: o,
                        author: a
                    });
                default:
                    return e
            }
        };

        function J(e, t) {
            if (null == e) return {};
            var n, r, o = function(e, t) {
                if (null == e) return {};
                var n, r, o = {},
                    a = Object.keys(e);
                for (r = 0; r < a.length; r++) n = a[r], t.indexOf(n) >= 0 || (o[n] = e[n]);
                return o
            }(e, t);
            if (Object.getOwnPropertySymbols) {
                var a = Object.getOwnPropertySymbols(e);
                for (r = 0; r < a.length; r++) n = a[r], t.indexOf(n) >= 0 || Object.prototype.propertyIsEnumerable.call(e, n) && (o[n] = e[n])
            }
            return o
        }

        function Q(e) {
            return function(e) {
                if (Array.isArray(e)) {
                    for (var t = 0, n = new Array(e.length); t < e.length; t++) n[t] = e[t];
                    return n
                }
            }(e) || function(e) {
                if (Symbol.iterator in Object(e) || "[object Arguments]" === Object.prototype.toString.call(e)) return Array.from(e)
            }(e) || function() {
                throw new TypeError("Invalid attempt to spread non-iterable instance")
            }()
        }

        function X(e) {
            for (var t = 1; t < arguments.length; t++) {
                var n = null != arguments[t] ? arguments[t] : {},
                    r = Object.keys(n);
                "function" === typeof Object.getOwnPropertySymbols && (r = r.concat(Object.getOwnPropertySymbols(n).filter(function(e) {
                    return Object.getOwnPropertyDescriptor(n, e).enumerable
                }))), r.forEach(function(t) {
                    Z(e, t, n[t])
                })
            }
            return e
        }

        function Z(e, t, n) {
            return t in e ? Object.defineProperty(e, t, {
                value: n,
                enumerable: !0,
                configurable: !0,
                writable: !0
            }) : e[t] = n, e
        }
        var ee = {
            allTasks: [],
            mostRecentTaskIdx: null
        };
        var te = function() {
                var e = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : ee,
                    t = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : {};
                switch (t.type) {
                    case y.v:
                        return X({}, e, {
                            allTasks: N.a.merge(e.allTasks.slice(), t.value)
                        });
                    case y.x:
                        var n = t.value,
                            r = n.errorMessage,
                            o = n.testNumber,
                            a = n.totalTests;
                        return X({}, e, {
                            allTasks: [].concat(Q(e.allTasks.slice(0, t.value.taskNumber)), [X({}, e.allTasks[t.value.taskNumber], {
                                errorMessage: r,
                                failingTestNumber: o,
                                totalTests: a,
                                hasSolved: !1
                            })], Q(e.allTasks.slice(t.value.taskNumber + 1)))
                        });
                    case y.w:
                        var i = t.value,
                            s = i.taskNumber,
                            c = i.successMessage;
                        return X({}, e, {
                            allTasks: [].concat(Q(e.allTasks.slice(0, s)), [X({}, e.allTasks[s], {
                                successMessage: c,
                                errorMessage: null,
                                hasSolved: !0
                            })], Q(e.allTasks.slice(s + 1)))
                        });
                    case y.X:
                        var u = t.value,
                            l = u.taskIdx,
                            p = J(u, ["taskIdx"]);
                        return X({}, e, {
                            allTasks: [].concat(Q(e.allTasks.slice(0, l)), [X({}, e.allTasks[l], {
                                latest: X({}, e.allTasks[l].latest, p)
                            })], Q(e.allTasks.slice(l + 1)))
                        });
                    case y.u:
                        var f = t.value,
                            b = f.taskIdx,
                            h = f.stats;
                        return X({}, e, {
                            allTasks: [].concat(Q(e.allTasks.slice(0, b)), [X({}, e.allTasks[b], {
                                stats: h
                            })], Q(e.allTasks.slice(b + 1)))
                        });
                    case y.s:
                        return X({}, e, {
                            mostRecentTaskIdx: t.value
                        });
                    default:
                        return e
                }
            },
            ne = n("./app/js/actionCreator/actionCreators.js");
        var re = function(e, t) {
                var n = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : [];
                return function(r) {
                    var o = r.dispatch,
                        a = r.getState;
                    return function(r) {
                        return function(i) {
                            var c = r(i);
                            if (-1 === t.indexOf(i.type)) return c;
                            var u = N.a.pick(a(), n);
                            return e.save(u).then(function() {
                                return o(Object(ne.Y)())
                            }).catch(function(e) {
                                return s.a.error(e)
                            }), c
                        }
                    }
                }
            },
            oe = n("./app/js/utils/StorageInterface.js");
        var ae = function(e) {
                return {
                    load: function() {
                        return oe.a.get(e)
                    },
                    save: function(t) {
                        return oe.a.save(e, t)
                    }
                }
            },
            ie = n("./node_modules/can-use-dom/index.js"),
            se = n.n(ie);
        var ce = function(e) {
                return function(t) {
                    return e.load().then(function(e) {
                        return se.a && t.dispatch(Object(ne.X)(e || {})), e
                    })
                }
            },
            ue = function(e, t) {
                return N.a.mergeWith(e, t, function(e, t) {
                    if (N.a.isArray(e)) return t
                })
            };
        var le = function(e) {
                return function(t, n) {
                    return e(n.type === y.U ? ue(t, n.value) : t, n)
                }
            },
            pe = n("./app/js/utils/Raven.js"),
            fe = ["settings", "rightSidebar"];
        var ye = function(e) {
            var t = le(Object(c.c)(r)),
                n = ae("regex101-state"),
                o = re(n, [y.i], fe),
                a = "undefined" !== typeof window && window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__ || c.d,
                i = Object(c.e)(t, e, a(Object(c.a)(l.a, o))),
                u = ce(n);
            pe.a.config("https://5f9e813965e0433598973663dff85743@sentry.io/102476", {
                maxMessageLength: 1e3
            }).install(), pe.a.setRelease("3.26.6");
            var p = i.getState();
            return pe.a.setUserContext({
                userId: p.general.userId,
                permalinkFragment: p.general.permalinkFragment,
                permalinkVersion: p.general.version
            }), pe.a.setExtraContext({
                regex: p.regexEditor.regex,
                delimiter: p.regexEditor.delimiter,
                flavor: p.regexEditor.flavor,
                flags: p.regexEditor.flags,
                testString: p.regexEditor.testString,
                substString: p.regexEditor.substString
            }), u(i).then(function(e) {
                return s.a.info("Successfully loaded previous state")
            }).catch(function(e) {
                return s.a.error(e, {
                    error: "Unable to load previous state"
                })
            }).then(function() {
                return s.a.info("Store configured")
            }).then(function() {
                return i
            })
        };

        function be() {
            return new Promise(function(e, t) {
                se.a && /mobi/i.test(navigator.userAgent) && "ontouchstart" in window && (window.regex101.__IS_TOUCH__ = !0), e()
            })
        }
        var he = n("./app/js/managers/ShortcutManager.js"),
            de = n("./app/js/constants/OS.js");

        function me() {
            return new Promise(function(e, t) {
                var n = -1 !== navigator.userAgent.indexOf("Mac") ? de.a : de.b;
                he.a.initialize(n), e()
            })
        }
        var ge = n("./node_modules/loglevel/lib/loglevel.js"),
            ve = n.n(ge);
        var _e = n("./node_modules/react-ga/dist/react-ga.js"),
            Oe = n.n(_e);

        function je() {
            return new Promise(function(e, t) {
                Oe.a.initialize("UA-33878479-1"), e()
            })
        }
        var we = n("./app/js/constants/RegexFlags.js"),
            ke = n.n(we);

        function Ee() {
            return new Promise(function(e) {
                var t = /test/,
                    n = void 0 !== t.unicode,
                    r = void 0 !== t.dotAll,
                    o = void 0 !== t.sticky;
                try {
                    "aaa".match(new RegExp("^a", "gy")).length > 1 && (o = !1, s.a.warn("Sticky flag for JS has been disabled as behavior in this browser is non-standard"))
                } catch (a) {
                    s.a.warn("Unable to test for sticky flag, continuing...")
                }
                ke.a.extendFlags(_.a.JAVASCRIPT, (o ? "y" : "") + (n ? "u" : "") + (r ? "s" : "")), e()
            })
        }
        var Se = n("./app/js/parsers/RegexParser/RegexParser.js");

        function xe() {
            return new Promise(function(e) {
                try {
                    new RegExp("(?<=test)regex").test("testregex") && Object(Se.b)()
                } catch (t) {
                    s.a.warn("This browser does not have lookbehind support for the javascript flavor")
                }
                e()
            })
        }

        function Ce() {
            return new Promise(function(e) {
                try {
                    new RegExp("(?<name>test)").test("test") && Object(Se.c)()
                } catch (t) {
                    s.a.warn("This browser does not have named group support for the javascript flavor")
                }
                e()
            })
        }
        var Pe = n("./app/js/managers/DeleteCodeManager.js");

        function Te(e) {
            return new Promise(function(t, n) {
                var r = e.getState().general.permalinkFragment;
                r ? Object(Pe.b)(r).then(function(n) {
                    e.dispatch(Object(ne.v)(n)), t()
                }) : t()
            })
        }
        var Re = n("./node_modules/offline-plugin/runtime.js");

        function Ne() {
            return new Promise(function(e) {
                "serviceWorker" in navigator && null != navigator.serviceWorker.getRegistrations && navigator.serviceWorker.getRegistrations().then(function(e) {
                    e.forEach(function(e) {
                        "https://regex101.com/sw.js" === e.active.scriptURL && e.unregister()
                    })
                }), Re.install(), e()
            })
        }
        var Me = n("./node_modules/fetch-jsonp/build/fetch-jsonp.js"),
            Ae = n.n(Me),
            Ie = "https://srv.buysellads.com/ads/CKYDE5QY.json";

        function Le(e) {
            return new Promise(function(t) {
                var n = {};
                oe.a.get("regex101-sponsor").then(function(e) {
                    if (n = !Array.isArray(e) && e || null) {
                        var t = (new Date).toDateString();
                        Object.keys(n).forEach(function(e) {
                            var r = n[e];
                            new Date(r.lastSeen).toDateString() !== t && (r.lastSeen = new Date, r.todayCount = 0)
                        })
                    }
                }).catch(function(e) {}).then(function() {
                    var t = n ? "?freqcap=" + Object.keys(n).map(function(e) {
                            var t = n[e],
                                r = t.allTimeCount,
                                o = t.todayCount;
                            return "".concat(e, ":").concat(o, ",").concat(r)
                        }).join(";") : "",
                        r = Ie + t;
                    Ae()(r).then(function(e) {
                        return e.json()
                    }).then(function(t) {
                        if (t && t.ads && Array.isArray(t.ads)) {
                            var r = t.ads.find(function(e) {
                                return e && !!e.statlink
                            });
                            r && e.dispatch(Object(ne.u)(n, r))
                        }
                    }).catch(function(e) {
                        return ve.a.error("Unable to load sponsor data", e)
                    })
                }), t()
            })
        }
        var De = n("./app/js/constants/Languages.js"),
            qe = n.n(De);

        function Fe(e) {
            return new Promise(function(t) {
                var n = e.getState().settings.language;
                null != n && n !== qe.a.ENGLISH ? e.dispatch(Object(ne.cb)(n, !1)).then(t).catch(t) : t()
            })
        }

        function ze() {
            return new Promise(function(e) {
                try {
                    new RegExp("\\p{Letter}", "u").test("test") && Object(Se.d)()
                } catch (t) {
                    s.a.warn("This browser does not have named group support for the javascript flavor")
                }
                e()
            })
        }
        var Ge = function() {
                var e;
                ve.a.setDefaultLevel("info"), s.a.info("App initialized"), window.regex101 = window.regex101 || {};
                try {
                    e = JSON.parse(decodeURIComponent(window.__INITIAL_STATE__)), s.a.info("Loaded initial state")
                } catch (n) {
                    return void s.a.error(new Error("Unable to parse initial state from server"), {
                        state: window.__INITIAL_STATE__
                    })
                }
                var t = null;
                return ye(e).then(function(e) {
                    t = e;
                    var n = [be, me, je, Ee, xe, Ce, ze, Te, Ne, Le, Fe];
                    return Promise.all(n.map(function(e) {
                        return e(t)
                    })).catch(function(e) {
                        throw e
                    })
                }).catch(function(e) {
                    return s.a.error("Unable to initialize app", e)
                }).then(function() {
                    return t
                })
            },
            Be = n("./app/js/constants/AppConstants.js"),
            Ue = n("./node_modules/prop-types/index.js"),
            He = n.n(Ue),
            We = n("./node_modules/react-redux/es/index.js"),
            Ve = n("./node_modules/react-router-dom/es/index.js"),
            Ke = n("./app/js/utils/t.js"),
            $e = n("./app/js/components/utils/index.js"),
            Ye = n("./node_modules/classnames/index.js"),
            Je = n.n(Ye),
            Qe = n("./app/js/components/Logo/Logo.css"),
            Xe = n.n(Qe);

        function Ze(e) {
            return (Ze = "function" === typeof Symbol && "symbol" === typeof Symbol.iterator ? function(e) {
                return typeof e
            } : function(e) {
                return e && "function" === typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e
            })(e)
        }

        function et(e, t) {
            for (var n = 0; n < t.length; n++) {
                var r = t[n];
                r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(e, r.key, r)
            }
        }

        function tt(e, t) {
            return !t || "object" !== Ze(t) && "function" !== typeof t ? function(e) {
                if (void 0 === e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
                return e
            }(e) : t
        }

        function nt(e) {
            return (nt = Object.setPrototypeOf ? Object.getPrototypeOf : function(e) {
                return e.__proto__ || Object.getPrototypeOf(e)
            })(e)
        }

        function rt(e, t) {
            return (rt = Object.setPrototypeOf || function(e, t) {
                return e.__proto__ = t, e
            })(e, t)
        }
        var ot = function(e) {
            function t() {
                return function(e, t) {
                    if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function")
                }(this, t), tt(this, nt(t).apply(this, arguments))
            }
            var n, r, i;
            return function(e, t) {
                if ("function" !== typeof t && null !== t) throw new TypeError("Super expression must either be null or a function");
                e.prototype = Object.create(t && t.prototype, {
                    constructor: {
                        value: e,
                        writable: !0,
                        configurable: !0
                    }
                }), t && rt(e, t)
            }(t, o["PureComponent"]), n = t, (r = [{
                key: "render",
                value: function() {
                    return a.a.createElement($e.l, {
                        className: Je()(Xe.a.root, this.props.noClick && Xe.a.noClick, this.props.className),
                        to: "/",
                        absolute: !0
                    }, a.a.createElement("span", {
                        className: Xe.a.regular
                    }, a.a.createElement("span", {
                        className: Xe.a.wide
                    }, "Regular"), a.a.createElement("span", {
                        className: Xe.a.narrow
                    }, "Reg")), a.a.createElement("span", {
                        className: Xe.a.expressions
                    }, a.a.createElement("span", {
                        className: Xe.a.wide
                    }, "Expressions"), a.a.createElement("span", {
                        className: Xe.a.narrow
                    }, "Ex")), a.a.createElement("span", {
                        className: Xe.a.suffix
                    }, "101"))
                }
            }]) && et(n.prototype, r), i && et(n, i), t
        }();
        ot.propTypes = {
            noClick: He.a.bool,
            className: He.a.string
        };
        var at = ot,
            it = n("./app/js/components/Header/Header.css"),
            st = n.n(it),
            ct = n("./app/js/components/BadBrowser/BadBrowser.css"),
            ut = n.n(ct);

        function lt(e) {
            return (lt = "function" === typeof Symbol && "symbol" === typeof Symbol.iterator ? function(e) {
                return typeof e
            } : function(e) {
                return e && "function" === typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e
            })(e)
        }

        function pt(e, t) {
            for (var n = 0; n < t.length; n++) {
                var r = t[n];
                r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(e, r.key, r)
            }
        }

        function ft(e, t) {
            return !t || "object" !== lt(t) && "function" !== typeof t ? function(e) {
                if (void 0 === e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
                return e
            }(e) : t
        }

        function yt(e) {
            return (yt = Object.setPrototypeOf ? Object.getPrototypeOf : function(e) {
                return e.__proto__ || Object.getPrototypeOf(e)
            })(e)
        }

        function bt(e, t) {
            return (bt = Object.setPrototypeOf || function(e, t) {
                return e.__proto__ = t, e
            })(e, t)
        }
        var ht, dt, mt, gt = function(e) {
                function t() {
                    return function(e, t) {
                        if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function")
                    }(this, t), ft(this, yt(t).apply(this, arguments))
                }
                var n, r, i;
                return function(e, t) {
                    if ("function" !== typeof t && null !== t) throw new TypeError("Super expression must either be null or a function");
                    e.prototype = Object.create(t && t.prototype, {
                        constructor: {
                            value: e,
                            writable: !0,
                            configurable: !0
                        }
                    }), t && bt(e, t)
                }(t, o["Component"]), n = t, (r = [{
                    key: "render",
                    value: function() {
                        return a.a.createElement("div", {
                            className: ut.a.content
                        }, a.a.createElement("div", {
                            className: st.a.root
                        }, a.a.createElement(at, {
                            noClick: !0
                        })), a.a.createElement("div", {
                            className: ut.a.text
                        }, a.a.createElement($e.k, {
                            text: Object(Ke.a)("Oh no!")
                        }), a.a.createElement("div", null, Object(Ke.a)("Unfortunately it seems your browser does not meed the criteria to properly render and utilize this website."), " ", a.a.createElement($e.l, {
                            to: "http://browsehappy.com/",
                            absolute: !0
                        }, Object(Ke.a)("Please upgrade your browser and come back.")))), a.a.createElement($e.h, null))
                    }
                }]) && pt(n.prototype, r), i && pt(n, i), t
            }(),
            vt = n("./app/js/utils/decorators/index.js"),
            _t = n("./app/js/utils/events.js"),
            Ot = n("./app/js/components/utils/props/index.js"),
            jt = n("./app/js/styles/variables/dimensions.js"),
            wt = n.n(jt),
            kt = n("./app/js/components/Header/HeaderLink.css"),
            Et = n.n(kt);

        function St(e) {
            return (St = "function" === typeof Symbol && "symbol" === typeof Symbol.iterator ? function(e) {
                return typeof e
            } : function(e) {
                return e && "function" === typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e
            })(e)
        }

        function xt(e, t) {
            for (var n = 0; n < t.length; n++) {
                var r = t[n];
                r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(e, r.key, r)
            }
        }

        function Ct(e, t) {
            return !t || "object" !== St(t) && "function" !== typeof t ? function(e) {
                if (void 0 === e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
                return e
            }(e) : t
        }

        function Pt(e) {
            return (Pt = Object.setPrototypeOf ? Object.getPrototypeOf : function(e) {
                return e.__proto__ || Object.getPrototypeOf(e)
            })(e)
        }

        function Tt(e, t) {
            return (Tt = Object.setPrototypeOf || function(e, t) {
                return e.__proto__ = t, e
            })(e, t)
        }
        var Rt, Nt, Mt, At = parseFloat(wt.a.headerIconsBreakpoint, 10),
            It = Object(vt.d)(At)((mt = dt = function(e) {
                function t() {
                    return function(e, t) {
                        if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function")
                    }(this, t), Ct(this, Pt(t).apply(this, arguments))
                }
                var n, r, i;
                return function(e, t) {
                    if ("function" !== typeof t && null !== t) throw new TypeError("Super expression must either be null or a function");
                    e.prototype = Object.create(t && t.prototype, {
                        constructor: {
                            value: e,
                            writable: !0,
                            configurable: !0
                        }
                    }), t && Tt(e, t)
                }(t, o["PureComponent"]), n = t, (r = [{
                    key: "render",
                    value: function() {
                        var e = this.props,
                            t = e.label,
                            n = e.className,
                            r = e.link,
                            o = e.icon,
                            i = e.text,
                            s = e.viewport,
                            c = e.direction;
                        return At > s.width ? a.a.createElement($e.l, {
                            to: r,
                            noTheme: !0,
                            absolute: !0,
                            target: "_blank"
                        }, a.a.createElement($e.j, {
                            tooltip: t,
                            themeClass: Je()(Et.a.iconButton, n),
                            className: Et.a.root,
                            icon: o,
                            tooltipDirection: c
                        })) : a.a.createElement($e.v, {
                            className: Et.a.root,
                            text: t,
                            direction: c
                        }, a.a.createElement($e.l, {
                            className: Je()(Et.a.link, n),
                            to: r,
                            noTheme: !0,
                            absolute: !0,
                            target: "_blank"
                        }, a.a.createElement($e.i, {
                            className: Et.a.linkIcon,
                            icon: o
                        }), a.a.createElement("span", {
                            className: Et.a.text
                        }, i)))
                    }
                }]) && xt(n.prototype, r), i && xt(n, i), t
            }(), dt.propTypes = {
                link: He.a.string.isRequired,
                icon: He.a.string.isRequired,
                text: He.a.string.isRequired,
                label: He.a.string.isRequired,
                viewport: He.a.object.isRequired,
                className: He.a.string,
                direction: He.a.oneOf(Ot.b.all)
            }, dt.defaultProps = {
                direction: Ot.b.S
            }, ht = mt)) || ht;

        function Lt(e) {
            return (Lt = "function" === typeof Symbol && "symbol" === typeof Symbol.iterator ? function(e) {
                return typeof e
            } : function(e) {
                return e && "function" === typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e
            })(e)
        }

        function Dt() {
            return (Dt = Object.assign || function(e) {
                for (var t = 1; t < arguments.length; t++) {
                    var n = arguments[t];
                    for (var r in n) Object.prototype.hasOwnProperty.call(n, r) && (e[r] = n[r])
                }
                return e
            }).apply(this, arguments)
        }

        function qt(e, t) {
            for (var n = 0; n < t.length; n++) {
                var r = t[n];
                r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(e, r.key, r)
            }
        }

        function Ft(e, t) {
            return !t || "object" !== Lt(t) && "function" !== typeof t ? function(e) {
                if (void 0 === e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
                return e
            }(e) : t
        }

        function zt(e) {
            return (zt = Object.setPrototypeOf ? Object.getPrototypeOf : function(e) {
                return e.__proto__ || Object.getPrototypeOf(e)
            })(e)
        }

        function Gt(e, t) {
            return (Gt = Object.setPrototypeOf || function(e, t) {
                return e.__proto__ = t, e
            })(e, t)
        }
        var Bt = parseFloat(wt.a.leftSidebarBreakpoint, 10),
            Ut = parseFloat(wt.a.rightSidebarBreakpoint, 10),
            Ht = Object(vt.d)(Bt, Ut)((Mt = Nt = function(e) {
                function t() {
                    return function(e, t) {
                        if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function")
                    }(this, t), Ft(this, zt(t).apply(this, arguments))
                }
                var n, r, i;
                return function(e, t) {
                    if ("function" !== typeof t && null !== t) throw new TypeError("Super expression must either be null or a function");
                    e.prototype = Object.create(t && t.prototype, {
                        constructor: {
                            value: e,
                            writable: !0,
                            configurable: !0
                        }
                    }), t && Gt(e, t)
                }(t, o["PureComponent"]), n = t, (r = [{
                    key: "_getLinks",
                    value: function() {
                        return [{
                            text: "@regex101",
                            link: "https://twitter.com/regex101",
                            icon: "twitter-squared",
                            className: st.a.twitterLink,
                            label: Object(Ke.a)("Follow me on twitter!")
                        }, {
                            text: Object(Ke.a)("Donate"),
                            link: Be.b,
                            icon: "dollar",
                            className: st.a.donateLink,
                            label: Object(Ke.a)("Like regex101? Support it by donating!")
                        }, {
                            text: Object(Ke.a)("Sponsor"),
                            link: Be.e,
                            icon: "heart",
                            className: st.a.sponsorLink,
                            label: Object(Ke.a)("Become a sponsor!")
                        }, {
                            text: Object(Ke.a)("Contact"),
                            link: "mailto:contact@regex101.com",
                            icon: "paper-plane",
                            className: st.a.contactLink,
                            label: Object(Ke.a)("Send me an email")
                        }, {
                            text: Object(Ke.a)("Bug Reports & Feedback"),
                            link: "https://github.com/firasdib/Regex101/issues",
                            icon: "github",
                            className: st.a.feedbackLink,
                            label: Object(Ke.a)("Bugs or suggestions go here")
                        }, {
                            text: Object(Ke.a)("Wiki"),
                            link: "https://github.com/firasdib/Regex101/wiki",
                            icon: "bank",
                            className: st.a.wiki,
                            label: Object(Ke.a)("Wiki (Info & FAQ)"),
                            direction: Ot.b.SW
                        }]
                    }
                }, {
                    key: "render",
                    value: function() {
                        var e = this;
                        return a.a.createElement(Ve.f, null, a.a.createElement(Ve.e, {
                            path: "/:links(settings|account|library|quiz)",
                            render: function() {
                                return e._renderHeader()
                            }
                        }), a.a.createElement(Ve.e, {
                            render: function() {
                                return e._renderHeader(!0)
                            }
                        }))
                    }
                }, {
                    key: "_renderHeader",
                    value: function() {
                        var e = arguments.length > 0 && void 0 !== arguments[0] && arguments[0],
                            t = this.props,
                            n = t.viewport,
                            r = t.alwaysCollapseLeftSidebar,
                            o = t.alwaysCollapseRightSidebar,
                            i = r || n.width <= Bt,
                            s = o || n.width <= Ut;
                        return a.a.createElement("header", {
                            className: Je()(st.a.root, i && st.a.leftSidebarHamburger, e && s && st.a.rightSidebarHamburger)
                        }, a.a.createElement(at, {
                            className: st.a.logo
                        }), a.a.createElement("div", {
                            className: st.a.links
                        }, this._getLinks().map(function(e, t) {
                            return a.a.createElement(It, Dt({}, e, {
                                key: "header-links-".concat(t)
                            }))
                        })))
                    }
                }]) && qt(n.prototype, r), i && qt(n, i), t
            }(), Nt.propTypes = {
                viewport: He.a.object.isRequired,
                alwaysCollapseLeftSidebar: He.a.bool.isRequired,
                alwaysCollapseRightSidebar: He.a.bool.isRequired
            }, Rt = Mt)) || Rt,
            Wt = n("./app/js/utils/cssDurationToMilliseconds.js"),
            Vt = n("./app/js/styles/variables/animations.js"),
            Kt = n.n(Vt),
            $t = n("./app/js/components/LoadingScreen/LoadingScreen.css"),
            Yt = n.n($t);

        function Jt(e) {
            return (Jt = "function" === typeof Symbol && "symbol" === typeof Symbol.iterator ? function(e) {
                return typeof e
            } : function(e) {
                return e && "function" === typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e
            })(e)
        }

        function Qt(e, t) {
            for (var n = 0; n < t.length; n++) {
                var r = t[n];
                r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(e, r.key, r)
            }
        }

        function Xt(e, t) {
            return !t || "object" !== Jt(t) && "function" !== typeof t ? function(e) {
                if (void 0 === e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
                return e
            }(e) : t
        }

        function Zt(e) {
            return (Zt = Object.setPrototypeOf ? Object.getPrototypeOf : function(e) {
                return e.__proto__ || Object.getPrototypeOf(e)
            })(e)
        }

        function en(e, t) {
            return (en = Object.setPrototypeOf || function(e, t) {
                return e.__proto__ = t, e
            })(e, t)
        }
        var tn = Object(Wt.a)(Kt.a.loadingScreenSpeed),
            nn = {
                leave: Yt.a.leave,
                leaveActive: Yt.a.leaveActive
            },
            rn = function(e) {
                function t() {
                    var e, n;
                    ! function(e, t) {
                        if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function")
                    }(this, t);
                    for (var r = arguments.length, o = new Array(r), a = 0; a < r; a++) o[a] = arguments[a];
                    return (n = Xt(this, (e = Zt(t)).call.apply(e, [this].concat(o)))).state = {
                        isLoading: !0,
                        render: !0
                    }, n
                }
                var n, r, i;
                return function(e, t) {
                    if ("function" !== typeof t && null !== t) throw new TypeError("Super expression must either be null or a function");
                    e.prototype = Object.create(t && t.prototype, {
                        constructor: {
                            value: e,
                            writable: !0,
                            configurable: !0
                        }
                    }), t && en(e, t)
                }(t, o["Component"]), n = t, (r = [{
                    key: "componentDidMount",
                    value: function() {
                        var e = this;
                        _t.a.once("loading:finish", function() {
                            e.setState({
                                isLoading: !1
                            }), setTimeout(function() {
                                e.setState({
                                    render: !1
                                })
                            }, tn)
                        })
                    }
                }, {
                    key: "render",
                    value: function() {
                        return this.state.render ? a.a.createElement($e.w, {
                            className: Je()(Yt.a.root, !this.state.isLoading && Yt.a.finishedLoading),
                            transitionName: nn,
                            transitionAppear: !1,
                            transitionEnter: !1,
                            transitionLeaveTimeout: tn
                        }, this.state.isLoading && a.a.createElement("div", {
                            className: Yt.a.container
                        }, a.a.createElement("div", {
                            className: st.a.root
                        }, a.a.createElement(at, {
                            className: Yt.a.logo,
                            noClick: !0
                        })), a.a.createElement("div", {
                            className: Yt.a.content
                        }, a.a.createElement("div", {
                            className: Yt.a.text
                        }, Object(Ke.a)("Please wait while the app is loading...")), a.a.createElement($e.r, null)), a.a.createElement($e.n, null, a.a.createElement($e.l, {
                            to: "http://enable-javascript.com/",
                            absolute: !0
                        }, Object(Ke.a)("Please enable JavaScript to use this web application."))))) : null
                    }
                }]) && Qt(n.prototype, r), i && Qt(n, i), t
            }(),
            on = n("./node_modules/query-string/index.js"),
            an = n.n(on),
            sn = n("./app/js/utils/urlHelpers.js"),
            cn = n("./app/js/constants/KeyboardShortcuts.js"),
            un = n("./app/js/constants/MatchErrors.js"),
            ln = "javascript",
            pn = "php",
            fn = "python",
            yn = "csharp",
            bn = "java",
            hn = "ruby",
            dn = "rust",
            mn = "golang",
            gn = "perl",
            vn = "autoit",
            _n = "SED",
            On = "swift5_2";

        function jn(e) {
            switch (e) {
                case _.a.PCRE:
                    return pn;
                case _.a.GOLANG:
                    return mn;
                case _.a.JAVASCRIPT:
                    return ln;
                case _.a.PYTHON:
                    return fn;
                default:
                    return ln
            }
        }
        var wn = n("./app/js/components/ListMenu/ListMenu.css"),
            kn = n.n(wn);

        function En(e) {
            return (En = "function" === typeof Symbol && "symbol" === typeof Symbol.iterator ? function(e) {
                return typeof e
            } : function(e) {
                return e && "function" === typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e
            })(e)
        }

        function Sn() {
            return (Sn = Object.assign || function(e) {
                for (var t = 1; t < arguments.length; t++) {
                    var n = arguments[t];
                    for (var r in n) Object.prototype.hasOwnProperty.call(n, r) && (e[r] = n[r])
                }
                return e
            }).apply(this, arguments)
        }

        function xn(e, t) {
            if (null == e) return {};
            var n, r, o = function(e, t) {
                if (null == e) return {};
                var n, r, o = {},
                    a = Object.keys(e);
                for (r = 0; r < a.length; r++) n = a[r], t.indexOf(n) >= 0 || (o[n] = e[n]);
                return o
            }(e, t);
            if (Object.getOwnPropertySymbols) {
                var a = Object.getOwnPropertySymbols(e);
                for (r = 0; r < a.length; r++) n = a[r], t.indexOf(n) >= 0 || Object.prototype.propertyIsEnumerable.call(e, n) && (o[n] = e[n])
            }
            return o
        }

        function Cn(e, t) {
            for (var n = 0; n < t.length; n++) {
                var r = t[n];
                r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(e, r.key, r)
            }
        }

        function Pn(e, t) {
            return !t || "object" !== En(t) && "function" !== typeof t ? function(e) {
                if (void 0 === e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
                return e
            }(e) : t
        }

        function Tn(e) {
            return (Tn = Object.setPrototypeOf ? Object.getPrototypeOf : function(e) {
                return e.__proto__ || Object.getPrototypeOf(e)
            })(e)
        }

        function Rn(e, t) {
            return (Rn = Object.setPrototypeOf || function(e, t) {
                return e.__proto__ = t, e
            })(e, t)
        }
        var Nn = function(e) {
            function t() {
                return function(e, t) {
                    if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function")
                }(this, t), Pn(this, Tn(t).apply(this, arguments))
            }
            var n, r, i;
            return function(e, t) {
                if ("function" !== typeof t && null !== t) throw new TypeError("Super expression must either be null or a function");
                e.prototype = Object.create(t && t.prototype, {
                    constructor: {
                        value: e,
                        writable: !0,
                        configurable: !0
                    }
                }), t && Rn(e, t)
            }(t, o["PureComponent"]), n = t, (r = [{
                key: "getChildContext",
                value: function() {
                    return {
                        alignment: this.props.alignment
                    }
                }
            }, {
                key: "render",
                value: function() {
                    var e = this.props,
                        t = e.className,
                        n = e.children,
                        r = e.alignment,
                        o = e.header,
                        i = xn(e, ["className", "children", "alignment", "header"]),
                        s = Je()(t, r === Ot.a.LEFT && kn.a.extendFromLeft, r === Ot.a.RIGHT && kn.a.extendFromRight);
                    return a.a.createElement("div", Sn({
                        className: s
                    }, i), !!o && a.a.createElement($e.k, {
                        text: o,
                        className: kn.a.label
                    }), a.a.createElement("ul", {
                        className: kn.a.menu
                    }, n))
                }
            }]) && Cn(n.prototype, r), i && Cn(n, i), t
        }();
        Nn.propTypes = {
            className: He.a.string,
            alignment: He.a.oneOf(Ot.a.all),
            header: He.a.string,
            children: He.a.node
        }, Nn.defaultProps = {
            alignment: Ot.a.CENTER
        }, Nn.childContextTypes = {
            alignment: He.a.oneOf(Ot.a.all)
        };
        var Mn = Nn,
            An = n("./app/js/components/ListMenu/ListItem.css"),
            In = n.n(An);

        function Ln(e) {
            return (Ln = "function" === typeof Symbol && "symbol" === typeof Symbol.iterator ? function(e) {
                return typeof e
            } : function(e) {
                return e && "function" === typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e
            })(e)
        }

        function Dn() {
            return (Dn = Object.assign || function(e) {
                for (var t = 1; t < arguments.length; t++) {
                    var n = arguments[t];
                    for (var r in n) Object.prototype.hasOwnProperty.call(n, r) && (e[r] = n[r])
                }
                return e
            }).apply(this, arguments)
        }

        function qn(e, t) {
            if (null == e) return {};
            var n, r, o = function(e, t) {
                if (null == e) return {};
                var n, r, o = {},
                    a = Object.keys(e);
                for (r = 0; r < a.length; r++) n = a[r], t.indexOf(n) >= 0 || (o[n] = e[n]);
                return o
            }(e, t);
            if (Object.getOwnPropertySymbols) {
                var a = Object.getOwnPropertySymbols(e);
                for (r = 0; r < a.length; r++) n = a[r], t.indexOf(n) >= 0 || Object.prototype.propertyIsEnumerable.call(e, n) && (o[n] = e[n])
            }
            return o
        }

        function Fn(e, t) {
            for (var n = 0; n < t.length; n++) {
                var r = t[n];
                r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(e, r.key, r)
            }
        }

        function zn(e, t) {
            return !t || "object" !== Ln(t) && "function" !== typeof t ? function(e) {
                if (void 0 === e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
                return e
            }(e) : t
        }

        function Gn(e) {
            return (Gn = Object.setPrototypeOf ? Object.getPrototypeOf : function(e) {
                return e.__proto__ || Object.getPrototypeOf(e)
            })(e)
        }

        function Bn(e, t) {
            return (Bn = Object.setPrototypeOf || function(e, t) {
                return e.__proto__ = t, e
            })(e, t)
        }
        var Un = function(e) {
            function t() {
                return function(e, t) {
                    if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function")
                }(this, t), zn(this, Gn(t).apply(this, arguments))
            }
            var n, r, i;
            return function(e, t) {
                if ("function" !== typeof t && null !== t) throw new TypeError("Super expression must either be null or a function");
                e.prototype = Object.create(t && t.prototype, {
                    constructor: {
                        value: e,
                        writable: !0,
                        configurable: !0
                    }
                }), t && Bn(e, t)
            }(t, o["PureComponent"]), n = t, (r = [{
                key: "render",
                value: function() {
                    var e = this.props,
                        t = e.isDisabled,
                        n = e.className,
                        r = e.children,
                        o = qn(e, ["isDisabled", "className", "children"]),
                        i = Je()(In.a.listItem, n, t && In.a.disabled);
                    return a.a.createElement("li", Dn({
                        className: i
                    }, o), r)
                }
            }]) && Fn(n.prototype, r), i && Fn(n, i), t
        }();
        Un.propTypes = {
            isDisabled: He.a.bool,
            children: He.a.element,
            className: He.a.string
        };
        var Hn = Un,
            Wn = n("./app/js/components/ListMenu/Contents/DefaultContent.css"),
            Vn = n.n(Wn);

        function Kn(e) {
            return (Kn = "function" === typeof Symbol && "symbol" === typeof Symbol.iterator ? function(e) {
                return typeof e
            } : function(e) {
                return e && "function" === typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e
            })(e)
        }

        function $n() {
            return ($n = Object.assign || function(e) {
                for (var t = 1; t < arguments.length; t++) {
                    var n = arguments[t];
                    for (var r in n) Object.prototype.hasOwnProperty.call(n, r) && (e[r] = n[r])
                }
                return e
            }).apply(this, arguments)
        }

        function Yn(e, t) {
            if (null == e) return {};
            var n, r, o = function(e, t) {
                if (null == e) return {};
                var n, r, o = {},
                    a = Object.keys(e);
                for (r = 0; r < a.length; r++) n = a[r], t.indexOf(n) >= 0 || (o[n] = e[n]);
                return o
            }(e, t);
            if (Object.getOwnPropertySymbols) {
                var a = Object.getOwnPropertySymbols(e);
                for (r = 0; r < a.length; r++) n = a[r], t.indexOf(n) >= 0 || Object.prototype.propertyIsEnumerable.call(e, n) && (o[n] = e[n])
            }
            return o
        }

        function Jn(e, t) {
            for (var n = 0; n < t.length; n++) {
                var r = t[n];
                r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(e, r.key, r)
            }
        }

        function Qn(e, t) {
            return !t || "object" !== Kn(t) && "function" !== typeof t ? function(e) {
                if (void 0 === e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
                return e
            }(e) : t
        }

        function Xn(e) {
            return (Xn = Object.setPrototypeOf ? Object.getPrototypeOf : function(e) {
                return e.__proto__ || Object.getPrototypeOf(e)
            })(e)
        }

        function Zn(e, t) {
            return (Zn = Object.setPrototypeOf || function(e, t) {
                return e.__proto__ = t, e
            })(e, t)
        }
        var er = function(e) {
            function t() {
                return function(e, t) {
                    if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function")
                }(this, t), Qn(this, Xn(t).apply(this, arguments))
            }
            var n, r, i;
            return function(e, t) {
                if ("function" !== typeof t && null !== t) throw new TypeError("Super expression must either be null or a function");
                e.prototype = Object.create(t && t.prototype, {
                    constructor: {
                        value: e,
                        writable: !0,
                        configurable: !0
                    }
                }), t && Zn(e, t)
            }(t, o["PureComponent"]), n = t, (r = [{
                key: "render",
                value: function() {
                    var e = this.props,
                        t = e.className,
                        n = e.children,
                        r = Yn(e, ["className", "children"]),
                        o = Je()(this.context.alignment === Ot.a.LEFT && Vn.a.extendFromLeft, this.context.alignment === Ot.a.RIGHT && Vn.a.extendFromRight, this.context.alignment === Ot.a.CENTER && Vn.a.normal);
                    return a.a.createElement("div", $n({
                        className: Je()(Vn.a.content, o, t)
                    }, r), n)
                }
            }]) && Jn(n.prototype, r), i && Jn(n, i), t
        }();
        er.propTypes = {
            children: He.a.node,
            icon: He.a.string,
            className: He.a.string
        }, er.contextTypes = {
            alignment: He.a.oneOf(Ot.a.all).isRequired
        };
        var tr = er,
            nr = n("./app/js/components/ListMenu/Contents/IconContent.css"),
            rr = n.n(nr);

        function or(e) {
            return (or = "function" === typeof Symbol && "symbol" === typeof Symbol.iterator ? function(e) {
                return typeof e
            } : function(e) {
                return e && "function" === typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e
            })(e)
        }

        function ar(e, t) {
            if (null == e) return {};
            var n, r, o = function(e, t) {
                if (null == e) return {};
                var n, r, o = {},
                    a = Object.keys(e);
                for (r = 0; r < a.length; r++) n = a[r], t.indexOf(n) >= 0 || (o[n] = e[n]);
                return o
            }(e, t);
            if (Object.getOwnPropertySymbols) {
                var a = Object.getOwnPropertySymbols(e);
                for (r = 0; r < a.length; r++) n = a[r], t.indexOf(n) >= 0 || Object.prototype.propertyIsEnumerable.call(e, n) && (o[n] = e[n])
            }
            return o
        }

        function ir(e, t) {
            for (var n = 0; n < t.length; n++) {
                var r = t[n];
                r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(e, r.key, r)
            }
        }

        function sr(e, t) {
            return !t || "object" !== or(t) && "function" !== typeof t ? function(e) {
                if (void 0 === e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
                return e
            }(e) : t
        }

        function cr(e) {
            return (cr = Object.setPrototypeOf ? Object.getPrototypeOf : function(e) {
                return e.__proto__ || Object.getPrototypeOf(e)
            })(e)
        }

        function ur(e, t) {
            return (ur = Object.setPrototypeOf || function(e, t) {
                return e.__proto__ = t, e
            })(e, t)
        }
        var lr = function(e) {
            function t() {
                return function(e, t) {
                    if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function")
                }(this, t), sr(this, cr(t).apply(this, arguments))
            }
            var n, r, i;
            return function(e, t) {
                if ("function" !== typeof t && null !== t) throw new TypeError("Super expression must either be null or a function");
                e.prototype = Object.create(t && t.prototype, {
                    constructor: {
                        value: e,
                        writable: !0,
                        configurable: !0
                    }
                }), t && ur(e, t)
            }(t, o["PureComponent"]), n = t, (r = [{
                key: "render",
                value: function() {
                    var e = this.props,
                        t = e.icon,
                        n = e.children,
                        r = ar(e, ["icon", "children"]);
                    return a.a.createElement(tr, r, !!t && a.a.createElement($e.i, {
                        icon: t,
                        className: rr.a.icon
                    }), n)
                }
            }]) && ir(n.prototype, r), i && ir(n, i), t
        }();
        lr.propTypes = {
            children: He.a.node,
            icon: He.a.string
        };
        var pr = lr;

        function fr(e) {
            return (fr = "function" === typeof Symbol && "symbol" === typeof Symbol.iterator ? function(e) {
                return typeof e
            } : function(e) {
                return e && "function" === typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e
            })(e)
        }

        function yr(e, t) {
            if (null == e) return {};
            var n, r, o = function(e, t) {
                if (null == e) return {};
                var n, r, o = {},
                    a = Object.keys(e);
                for (r = 0; r < a.length; r++) n = a[r], t.indexOf(n) >= 0 || (o[n] = e[n]);
                return o
            }(e, t);
            if (Object.getOwnPropertySymbols) {
                var a = Object.getOwnPropertySymbols(e);
                for (r = 0; r < a.length; r++) n = a[r], t.indexOf(n) >= 0 || Object.prototype.propertyIsEnumerable.call(e, n) && (o[n] = e[n])
            }
            return o
        }

        function br(e, t) {
            for (var n = 0; n < t.length; n++) {
                var r = t[n];
                r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(e, r.key, r)
            }
        }

        function hr(e, t) {
            return !t || "object" !== fr(t) && "function" !== typeof t ? function(e) {
                if (void 0 === e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
                return e
            }(e) : t
        }

        function dr(e) {
            return (dr = Object.setPrototypeOf ? Object.getPrototypeOf : function(e) {
                return e.__proto__ || Object.getPrototypeOf(e)
            })(e)
        }

        function mr(e, t) {
            return (mr = Object.setPrototypeOf || function(e, t) {
                return e.__proto__ = t, e
            })(e, t)
        }
        var gr = function(e) {
            function t() {
                return function(e, t) {
                    if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function")
                }(this, t), hr(this, dr(t).apply(this, arguments))
            }
            var n, r, i;
            return function(e, t) {
                if ("function" !== typeof t && null !== t) throw new TypeError("Super expression must either be null or a function");
                e.prototype = Object.create(t && t.prototype, {
                    constructor: {
                        value: e,
                        writable: !0,
                        configurable: !0
                    }
                }), t && mr(e, t)
            }(t, o["PureComponent"]), n = t, (r = [{
                key: "render",
                value: function() {
                    var e = this.props,
                        t = e.icon,
                        n = e.children,
                        r = e.className,
                        o = yr(e, ["icon", "children", "className"]);
                    return a.a.createElement(Hn, o, a.a.createElement(pr, {
                        icon: t,
                        children: n,
                        className: r
                    }))
                }
            }]) && br(n.prototype, r), i && br(n, i), t
        }();
        gr.propTypes = {
            children: He.a.node,
            icon: He.a.string,
            className: He.a.string
        };
        var vr = gr,
            _r = n("./app/js/components/ListMenu/MultiListItem.css"),
            Or = n.n(_r);

        function jr(e) {
            return (jr = "function" === typeof Symbol && "symbol" === typeof Symbol.iterator ? function(e) {
                return typeof e
            } : function(e) {
                return e && "function" === typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e
            })(e)
        }

        function wr() {
            return (wr = Object.assign || function(e) {
                for (var t = 1; t < arguments.length; t++) {
                    var n = arguments[t];
                    for (var r in n) Object.prototype.hasOwnProperty.call(n, r) && (e[r] = n[r])
                }
                return e
            }).apply(this, arguments)
        }

        function kr(e, t) {
            if (null == e) return {};
            var n, r, o = function(e, t) {
                if (null == e) return {};
                var n, r, o = {},
                    a = Object.keys(e);
                for (r = 0; r < a.length; r++) n = a[r], t.indexOf(n) >= 0 || (o[n] = e[n]);
                return o
            }(e, t);
            if (Object.getOwnPropertySymbols) {
                var a = Object.getOwnPropertySymbols(e);
                for (r = 0; r < a.length; r++) n = a[r], t.indexOf(n) >= 0 || Object.prototype.propertyIsEnumerable.call(e, n) && (o[n] = e[n])
            }
            return o
        }

        function Er(e, t) {
            for (var n = 0; n < t.length; n++) {
                var r = t[n];
                r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(e, r.key, r)
            }
        }

        function Sr(e, t) {
            return !t || "object" !== jr(t) && "function" !== typeof t ? function(e) {
                if (void 0 === e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
                return e
            }(e) : t
        }

        function xr(e) {
            return (xr = Object.setPrototypeOf ? Object.getPrototypeOf : function(e) {
                return e.__proto__ || Object.getPrototypeOf(e)
            })(e)
        }

        function Cr(e, t) {
            return (Cr = Object.setPrototypeOf || function(e, t) {
                return e.__proto__ = t, e
            })(e, t)
        }
        var Pr = function(e) {
            function t() {
                return function(e, t) {
                    if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function")
                }(this, t), Sr(this, xr(t).apply(this, arguments))
            }
            var n, r, i;
            return function(e, t) {
                if ("function" !== typeof t && null !== t) throw new TypeError("Super expression must either be null or a function");
                e.prototype = Object.create(t && t.prototype, {
                    constructor: {
                        value: e,
                        writable: !0,
                        configurable: !0
                    }
                }), t && Cr(e, t)
            }(t, o["PureComponent"]), n = t, (r = [{
                key: "render",
                value: function() {
                    var e = this.props,
                        t = e.children,
                        n = e.className,
                        r = e.rightElement,
                        o = kr(e, ["children", "className", "rightElement"]);
                    return a.a.createElement(vr, wr({
                        className: Je()(Or.a.multiLabel, n)
                    }, o), a.a.createElement("div", {
                        className: Or.a.wrapText
                    }, t), a.a.createElement("div", {
                        className: Or.a.rightElement
                    }, r))
                }
            }]) && Er(n.prototype, r), i && Er(n, i), t
        }();
        Pr.propTypes = {
            children: He.a.node,
            rightElement: He.a.node.isRequired,
            className: He.a.string
        };
        var Tr = Pr,
            Rr = n("./app/js/components/ListMenu/Contents/ToggleContent.css"),
            Nr = n.n(Rr);

        function Mr(e) {
            return (Mr = "function" === typeof Symbol && "symbol" === typeof Symbol.iterator ? function(e) {
                return typeof e
            } : function(e) {
                return e && "function" === typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e
            })(e)
        }

        function Ar() {
            return (Ar = Object.assign || function(e) {
                for (var t = 1; t < arguments.length; t++) {
                    var n = arguments[t];
                    for (var r in n) Object.prototype.hasOwnProperty.call(n, r) && (e[r] = n[r])
                }
                return e
            }).apply(this, arguments)
        }

        function Ir(e, t) {
            if (null == e) return {};
            var n, r, o = function(e, t) {
                if (null == e) return {};
                var n, r, o = {},
                    a = Object.keys(e);
                for (r = 0; r < a.length; r++) n = a[r], t.indexOf(n) >= 0 || (o[n] = e[n]);
                return o
            }(e, t);
            if (Object.getOwnPropertySymbols) {
                var a = Object.getOwnPropertySymbols(e);
                for (r = 0; r < a.length; r++) n = a[r], t.indexOf(n) >= 0 || Object.prototype.propertyIsEnumerable.call(e, n) && (o[n] = e[n])
            }
            return o
        }

        function Lr(e, t) {
            for (var n = 0; n < t.length; n++) {
                var r = t[n];
                r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(e, r.key, r)
            }
        }

        function Dr(e, t) {
            return !t || "object" !== Mr(t) && "function" !== typeof t ? function(e) {
                if (void 0 === e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
                return e
            }(e) : t
        }

        function qr(e) {
            return (qr = Object.setPrototypeOf ? Object.getPrototypeOf : function(e) {
                return e.__proto__ || Object.getPrototypeOf(e)
            })(e)
        }

        function Fr(e, t) {
            return (Fr = Object.setPrototypeOf || function(e, t) {
                return e.__proto__ = t, e
            })(e, t)
        }
        var zr = function(e) {
            function t() {
                return function(e, t) {
                    if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function")
                }(this, t), Dr(this, qr(t).apply(this, arguments))
            }
            var n, r, i;
            return function(e, t) {
                if ("function" !== typeof t && null !== t) throw new TypeError("Super expression must either be null or a function");
                e.prototype = Object.create(t && t.prototype, {
                    constructor: {
                        value: e,
                        writable: !0,
                        configurable: !0
                    }
                }), t && Fr(e, t)
            }(t, o["PureComponent"]), n = t, (r = [{
                key: "render",
                value: function() {
                    var e = this.props,
                        t = e.isActive,
                        n = e.className,
                        r = e.children,
                        o = Ir(e, ["isActive", "className", "children"]);
                    return a.a.createElement("div", Ar({
                        className: Je()(Nr.a.toggleItem, t && Nr.a.isActive, n)
                    }, o), a.a.createElement("div", {
                        className: Nr.a.children
                    }, r), !!t && a.a.createElement($e.i, {
                        icon: "ok",
                        className: Nr.a.checkMark
                    }))
                }
            }]) && Lr(n.prototype, r), i && Lr(n, i), t
        }();
        zr.propTypes = {
            children: He.a.node,
            isActive: He.a.bool.isRequired,
            className: He.a.string
        };
        var Gr = zr;

        function Br(e) {
            return (Br = "function" === typeof Symbol && "symbol" === typeof Symbol.iterator ? function(e) {
                return typeof e
            } : function(e) {
                return e && "function" === typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e
            })(e)
        }

        function Ur(e, t) {
            if (null == e) return {};
            var n, r, o = function(e, t) {
                if (null == e) return {};
                var n, r, o = {},
                    a = Object.keys(e);
                for (r = 0; r < a.length; r++) n = a[r], t.indexOf(n) >= 0 || (o[n] = e[n]);
                return o
            }(e, t);
            if (Object.getOwnPropertySymbols) {
                var a = Object.getOwnPropertySymbols(e);
                for (r = 0; r < a.length; r++) n = a[r], t.indexOf(n) >= 0 || Object.prototype.propertyIsEnumerable.call(e, n) && (o[n] = e[n])
            }
            return o
        }

        function Hr(e, t) {
            for (var n = 0; n < t.length; n++) {
                var r = t[n];
                r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(e, r.key, r)
            }
        }

        function Wr(e, t) {
            return !t || "object" !== Br(t) && "function" !== typeof t ? function(e) {
                if (void 0 === e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
                return e
            }(e) : t
        }

        function Vr(e) {
            return (Vr = Object.setPrototypeOf ? Object.getPrototypeOf : function(e) {
                return e.__proto__ || Object.getPrototypeOf(e)
            })(e)
        }

        function Kr(e, t) {
            return (Kr = Object.setPrototypeOf || function(e, t) {
                return e.__proto__ = t, e
            })(e, t)
        }
        var $r = function(e) {
            function t() {
                return function(e, t) {
                    if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function")
                }(this, t), Wr(this, Vr(t).apply(this, arguments))
            }
            var n, r, i;
            return function(e, t) {
                if ("function" !== typeof t && null !== t) throw new TypeError("Super expression must either be null or a function");
                e.prototype = Object.create(t && t.prototype, {
                    constructor: {
                        value: e,
                        writable: !0,
                        configurable: !0
                    }
                }), t && Kr(e, t)
            }(t, o["PureComponent"]), n = t, (r = [{
                key: "render",
                value: function() {
                    var e = this.props,
                        t = e.isActive,
                        n = e.children,
                        r = Ur(e, ["isActive", "children"]);
                    return a.a.createElement(vr, r, a.a.createElement(Gr, {
                        children: n,
                        isActive: t
                    }))
                }
            }]) && Hr(n.prototype, r), i && Hr(n, i), t
        }();
        $r.propTypes = {
            children: He.a.node,
            isActive: He.a.bool.isRequired
        };
        var Yr = $r,
            Jr = n("./app/js/components/ListMenu/LinkListItem.css"),
            Qr = n.n(Jr);

        function Xr(e) {
            return (Xr = "function" === typeof Symbol && "symbol" === typeof Symbol.iterator ? function(e) {
                return typeof e
            } : function(e) {
                return e && "function" === typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e
            })(e)
        }

        function Zr() {
            return (Zr = Object.assign || function(e) {
                for (var t = 1; t < arguments.length; t++) {
                    var n = arguments[t];
                    for (var r in n) Object.prototype.hasOwnProperty.call(n, r) && (e[r] = n[r])
                }
                return e
            }).apply(this, arguments)
        }

        function eo(e, t) {
            if (null == e) return {};
            var n, r, o = function(e, t) {
                if (null == e) return {};
                var n, r, o = {},
                    a = Object.keys(e);
                for (r = 0; r < a.length; r++) n = a[r], t.indexOf(n) >= 0 || (o[n] = e[n]);
                return o
            }(e, t);
            if (Object.getOwnPropertySymbols) {
                var a = Object.getOwnPropertySymbols(e);
                for (r = 0; r < a.length; r++) n = a[r], t.indexOf(n) >= 0 || Object.prototype.propertyIsEnumerable.call(e, n) && (o[n] = e[n])
            }
            return o
        }

        function to(e, t) {
            for (var n = 0; n < t.length; n++) {
                var r = t[n];
                r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(e, r.key, r)
            }
        }

        function no(e, t) {
            return !t || "object" !== Xr(t) && "function" !== typeof t ? function(e) {
                if (void 0 === e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
                return e
            }(e) : t
        }

        function ro(e) {
            return (ro = Object.setPrototypeOf ? Object.getPrototypeOf : function(e) {
                return e.__proto__ || Object.getPrototypeOf(e)
            })(e)
        }

        function oo(e, t) {
            return (oo = Object.setPrototypeOf || function(e, t) {
                return e.__proto__ = t, e
            })(e, t)
        }
        var ao = function(e) {
            function t() {
                return function(e, t) {
                    if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function")
                }(this, t), no(this, ro(t).apply(this, arguments))
            }
            var n, r, i;
            return function(e, t) {
                if ("function" !== typeof t && null !== t) throw new TypeError("Super expression must either be null or a function");
                e.prototype = Object.create(t && t.prototype, {
                    constructor: {
                        value: e,
                        writable: !0,
                        configurable: !0
                    }
                }), t && oo(e, t)
            }(t, o["PureComponent"]), n = t, (r = [{
                key: "render",
                value: function() {
                    var e = this.props,
                        t = e.children,
                        n = e.icon,
                        r = e.absolute,
                        o = e.to,
                        i = e.className,
                        s = eo(e, ["children", "icon", "absolute", "to", "className"]);
                    return a.a.createElement(Hn, Zr({
                        className: i
                    }, s), a.a.createElement($e.l, {
                        to: o,
                        absolute: r,
                        noTheme: !0,
                        className: Qr.a.link
                    }, a.a.createElement(pr, {
                        icon: n,
                        children: t,
                        className: i
                    })))
                }
            }]) && to(n.prototype, r), i && to(n, i), t
        }();
        ao.propTypes = {
            children: He.a.node,
            to: He.a.oneOfType([He.a.string, He.a.object]).isRequired,
            absolute: He.a.bool,
            icon: He.a.string,
            className: He.a.string
        };
        var io = ao;

        function so(e, t) {
            var n;
            return function(e, t, n) {
                var r = 0;
                a.a.Children.forEach(e, function(e) {
                    a.a.isValidElement(e) && (t.call(n, e, r), r++)
                })
            }(e, function(r, o) {
                !n && t(r, o, e) && (n = r)
            }), n
        }

        function co(e) {
            return (co = "function" === typeof Symbol && "symbol" === typeof Symbol.iterator ? function(e) {
                return typeof e
            } : function(e) {
                return e && "function" === typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e
            })(e)
        }

        function uo(e, t) {
            for (var n = 0; n < t.length; n++) {
                var r = t[n];
                r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(e, r.key, r)
            }
        }

        function lo(e, t) {
            return !t || "object" !== co(t) && "function" !== typeof t ? function(e) {
                if (void 0 === e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
                return e
            }(e) : t
        }

        function po(e) {
            return (po = Object.setPrototypeOf ? Object.getPrototypeOf : function(e) {
                return e.__proto__ || Object.getPrototypeOf(e)
            })(e)
        }

        function fo(e, t) {
            return (fo = Object.setPrototypeOf || function(e, t) {
                return e.__proto__ = t, e
            })(e, t)
        }
        var yo = function(e) {
            function t() {
                return function(e, t) {
                    if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function")
                }(this, t), lo(this, po(t).apply(this, arguments))
            }
            var n, r, a;
            return function(e, t) {
                if ("function" !== typeof t && null !== t) throw new TypeError("Super expression must either be null or a function");
                e.prototype = Object.create(t && t.prototype, {
                    constructor: {
                        value: e,
                        writable: !0,
                        configurable: !0
                    }
                }), t && fo(e, t)
            }(t, o["Component"]), n = t, (r = [{
                key: "render",
                value: function() {
                    return this.props.children
                }
            }]) && uo(n.prototype, r), a && uo(n, a), t
        }();
        yo.propTypes = {
            children: He.a.node.isRequired
        };
        var bo = yo,
            ho = n("./app/js/components/TabView/TabView.css"),
            mo = n.n(ho);

        function go(e) {
            return (go = "function" === typeof Symbol && "symbol" === typeof Symbol.iterator ? function(e) {
                return typeof e
            } : function(e) {
                return e && "function" === typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e
            })(e)
        }

        function vo(e, t) {
            for (var n = 0; n < t.length; n++) {
                var r = t[n];
                r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(e, r.key, r)
            }
        }

        function _o(e, t) {
            return !t || "object" !== go(t) && "function" !== typeof t ? function(e) {
                if (void 0 === e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
                return e
            }(e) : t
        }

        function Oo(e) {
            return (Oo = Object.setPrototypeOf ? Object.getPrototypeOf : function(e) {
                return e.__proto__ || Object.getPrototypeOf(e)
            })(e)
        }

        function jo(e, t) {
            return (jo = Object.setPrototypeOf || function(e, t) {
                return e.__proto__ = t, e
            })(e, t)
        }
        var wo = function(e) {
            function t() {
                var e, n;
                ! function(e, t) {
                    if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function")
                }(this, t);
                for (var r = arguments.length, o = new Array(r), a = 0; a < r; a++) o[a] = arguments[a];
                return (n = _o(this, (e = Oo(t)).call.apply(e, [this].concat(o)))).state = {
                    activeTab: 0
                }, n
            }
            var n, r, i;
            return function(e, t) {
                if ("function" !== typeof t && null !== t) throw new TypeError("Super expression must either be null or a function");
                e.prototype = Object.create(t && t.prototype, {
                    constructor: {
                        value: e,
                        writable: !0,
                        configurable: !0
                    }
                }), t && jo(e, t)
            }(t, o["Component"]), n = t, (r = [{
                key: "onTabClick",
                value: function(e) {
                    this.setState({
                        activeTab: e
                    })
                }
            }, {
                key: "_getActiveChild",
                value: function() {
                    var e = this;
                    return so(this.props.children, function(t, n) {
                        return e.state.activeTab === n
                    })
                }
            }, {
                key: "render",
                value: function() {
                    var e = this;
                    return a.a.createElement("div", {
                        className: Je()(mo.a.root, this.props.className)
                    }, a.a.createElement("div", {
                        className: mo.a.toolbar
                    }, this.props.tabs.map(function(t, n) {
                        return a.a.createElement("div", {
                            key: "tabview-tab-".concat(n),
                            className: Je()(mo.a.tab, n === e.state.activeTab && mo.a.active),
                            onClick: function() {
                                return e.onTabClick(n)
                            }
                        }, t)
                    }), this.props.renderToolbar && this.props.renderToolbar(this.state.activeTab)), this._getActiveChild())
                }
            }]) && vo(n.prototype, r), i && vo(n, i), t
        }();
        wo.propTypes = {
            tabs: He.a.arrayOf(He.a.string).isRequired,
            className: He.a.string,
            children: function(e, t, n) {
                var r = e[t],
                    o = null;
                return a.a.Children.forEach(r, function(e) {
                    e.type !== bo && (o = new Error("`" + n + "` children should be of type `TabPanel`."))
                }), o
            },
            renderToolbar: He.a.func
        };
        var ko, Eo, So, xo = wo,
            Co = n("./app/js/components/Modal/Modal.css"),
            Po = n.n(Co);

        function To(e) {
            return (To = "function" === typeof Symbol && "symbol" === typeof Symbol.iterator ? function(e) {
                return typeof e
            } : function(e) {
                return e && "function" === typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e
            })(e)
        }

        function Ro(e, t) {
            for (var n = 0; n < t.length; n++) {
                var r = t[n];
                r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(e, r.key, r)
            }
        }

        function No(e, t) {
            return !t || "object" !== To(t) && "function" !== typeof t ? function(e) {
                if (void 0 === e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
                return e
            }(e) : t
        }

        function Mo(e) {
            return (Mo = Object.setPrototypeOf ? Object.getPrototypeOf : function(e) {
                return e.__proto__ || Object.getPrototypeOf(e)
            })(e)
        }

        function Ao(e, t) {
            return (Ao = Object.setPrototypeOf || function(e, t) {
                return e.__proto__ = t, e
            })(e, t)
        }

        function Io(e, t, n, r, o) {
            var a = {};
            return Object.keys(r).forEach(function(e) {
                a[e] = r[e]
            }), a.enumerable = !!a.enumerable, a.configurable = !!a.configurable, ("value" in a || a.initializer) && (a.writable = !0), a = n.slice().reverse().reduce(function(n, r) {
                return r(e, t, n) || n
            }, a), o && void 0 !== a.initializer && (a.value = a.initializer ? a.initializer.call(o) : void 0, a.initializer = void 0), void 0 === a.initializer && (Object.defineProperty(e, t, a), a = null), a
        }
        var Lo = Object(Wt.a)(Kt.a.modalSpeed),
            Do = {
                appear: Po.a.enter,
                appearActive: Po.a.enterActive,
                enter: Po.a.enter,
                enterActive: Po.a.enterActive,
                leave: Po.a.leave,
                leaveActive: Po.a.leaveActive
            },
            qo = (So = Eo = function(e) {
                function t() {
                    return function(e, t) {
                        if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function")
                    }(this, t), No(this, Mo(t).apply(this, arguments))
                }
                var n, r, i;
                return function(e, t) {
                    if ("function" !== typeof t && null !== t) throw new TypeError("Super expression must either be null or a function");
                    e.prototype = Object.create(t && t.prototype, {
                        constructor: {
                            value: e,
                            writable: !0,
                            configurable: !0
                        }
                    }), t && Ao(e, t)
                }(t, o["PureComponent"]), n = t, (r = [{
                    key: "componentWillReceiveProps",
                    value: function(e) {
                        e.isOpen && !this.props.isOpen ? _t.a.once("key:escape", this.onExitClick) : !e.isOpen && this.props.isOpen && _t.a.off("key:escape", this.onExitClick)
                    }
                }, {
                    key: "onExitClick",
                    value: function(e) {
                        this.onCloseClick(e)
                    }
                }, {
                    key: "onCloseClick",
                    value: function(e) {
                        e.stopPropagation(), _t.a.off("key:escape", this.onExitClick), this.props.onModalClose()
                    }
                }, {
                    key: "onModalClick",
                    value: function(e) {
                        e.stopPropagation()
                    }
                }, {
                    key: "render",
                    value: function() {
                        var e = this.props,
                            t = e.children,
                            n = e.isOpen,
                            r = e.className;
                        return a.a.createElement($e.p, {
                            isOpen: n,
                            closeTimeout: Lo
                        }, a.a.createElement($e.w, {
                            className: Po.a.modalContainer,
                            transitionName: Do,
                            transitionAppearTimeout: Lo,
                            transitionEnterTimeout: Lo,
                            transitionLeaveTimeout: Lo
                        }, n && a.a.createElement("div", {
                            className: Po.a.modalWrapper
                        }, a.a.createElement("div", {
                            className: Po.a.modalBackdrop,
                            onMouseUp: this.onCloseClick,
                            onClick: this.onCloseClick
                        }), a.a.createElement("div", {
                            className: Je()(Po.a.modal, r),
                            onMouseUp: this.onModalClick,
                            onClick: this.onModalClick
                        }, a.a.createElement("div", {
                            className: Po.a.closeButton,
                            onClick: this.onCloseClick
                        }, a.a.createElement($e.i, {
                            icon: "cancel"
                        })), t))))
                    }
                }]) && Ro(n.prototype, r), i && Ro(n, i), t
            }(), Eo.propTypes = {
                children: He.a.node,
                isOpen: He.a.bool.isRequired,
                onModalClose: He.a.func.isRequired,
                className: He.a.string
            }, Io((ko = So).prototype, "onExitClick", [vt.a], Object.getOwnPropertyDescriptor(ko.prototype, "onExitClick"), ko.prototype), Io(ko.prototype, "onCloseClick", [vt.a], Object.getOwnPropertyDescriptor(ko.prototype, "onCloseClick"), ko.prototype), Io(ko.prototype, "onModalClick", [vt.a], Object.getOwnPropertyDescriptor(ko.prototype, "onModalClick"), ko.prototype), ko),
            Fo = n("./app/js/components/Modal/ModalHeader.css"),
            zo = n.n(Fo);

        function Go() {
            return (Go = Object.assign || function(e) {
                for (var t = 1; t < arguments.length; t++) {
                    var n = arguments[t];
                    for (var r in n) Object.prototype.hasOwnProperty.call(n, r) && (e[r] = n[r])
                }
                return e
            }).apply(this, arguments)
        }

        function Bo(e, t) {
            if (null == e) return {};
            var n, r, o = function(e, t) {
                if (null == e) return {};
                var n, r, o = {},
                    a = Object.keys(e);
                for (r = 0; r < a.length; r++) n = a[r], t.indexOf(n) >= 0 || (o[n] = e[n]);
                return o
            }(e, t);
            if (Object.getOwnPropertySymbols) {
                var a = Object.getOwnPropertySymbols(e);
                for (r = 0; r < a.length; r++) n = a[r], t.indexOf(n) >= 0 || Object.prototype.propertyIsEnumerable.call(e, n) && (o[n] = e[n])
            }
            return o
        }
        var Uo = function(e) {
            var t = e.children,
                n = e.titleIcon,
                r = Bo(e, ["children", "titleIcon"]);
            return a.a.createElement("div", Go({
                className: zo.a.modalHeader
            }, r), !!n && a.a.createElement($e.i, {
                className: zo.a.titleIcon,
                icon: n
            }), t)
        };
        Uo.propTypes = {
            children: He.a.node,
            titleIcon: He.a.string
        };
        var Ho = Uo,
            Wo = n("./app/js/components/Modal/ModalBody.css"),
            Vo = n.n(Wo);

        function Ko() {
            return (Ko = Object.assign || function(e) {
                for (var t = 1; t < arguments.length; t++) {
                    var n = arguments[t];
                    for (var r in n) Object.prototype.hasOwnProperty.call(n, r) && (e[r] = n[r])
                }
                return e
            }).apply(this, arguments)
        }

        function $o(e, t) {
            if (null == e) return {};
            var n, r, o = function(e, t) {
                if (null == e) return {};
                var n, r, o = {},
                    a = Object.keys(e);
                for (r = 0; r < a.length; r++) n = a[r], t.indexOf(n) >= 0 || (o[n] = e[n]);
                return o
            }(e, t);
            if (Object.getOwnPropertySymbols) {
                var a = Object.getOwnPropertySymbols(e);
                for (r = 0; r < a.length; r++) n = a[r], t.indexOf(n) >= 0 || Object.prototype.propertyIsEnumerable.call(e, n) && (o[n] = e[n])
            }
            return o
        }
        var Yo = function(e) {
            var t = e.children,
                n = e.className,
                r = $o(e, ["children", "className"]);
            return a.a.createElement("div", Ko({
                className: Je()(Vo.a.modalBody, n)
            }, r), t)
        };
        Yo.propTypes = {
            children: He.a.node,
            className: He.a.string
        };
        var Jo = Yo,
            Qo = n("./app/js/components/Modal/ModalFooter.css"),
            Xo = n.n(Qo);

        function Zo() {
            return (Zo = Object.assign || function(e) {
                for (var t = 1; t < arguments.length; t++) {
                    var n = arguments[t];
                    for (var r in n) Object.prototype.hasOwnProperty.call(n, r) && (e[r] = n[r])
                }
                return e
            }).apply(this, arguments)
        }

        function ea(e, t) {
            if (null == e) return {};
            var n, r, o = function(e, t) {
                if (null == e) return {};
                var n, r, o = {},
                    a = Object.keys(e);
                for (r = 0; r < a.length; r++) n = a[r], t.indexOf(n) >= 0 || (o[n] = e[n]);
                return o
            }(e, t);
            if (Object.getOwnPropertySymbols) {
                var a = Object.getOwnPropertySymbols(e);
                for (r = 0; r < a.length; r++) n = a[r], t.indexOf(n) >= 0 || Object.prototype.propertyIsEnumerable.call(e, n) && (o[n] = e[n])
            }
            return o
        }
        var ta = function(e) {
            var t = e.children,
                n = ea(e, ["children"]);
            return a.a.createElement("div", Zo({
                className: Xo.a.modalFooter
            }, n), t)
        };
        ta.propTypes = {
            children: He.a.node
        };
        var na, ra, oa, aa = ta,
            ia = n("./app/js/components/AccountPage/Tags/Tag.css"),
            sa = n.n(ia);

        function ca(e) {
            return (ca = "function" === typeof Symbol && "symbol" === typeof Symbol.iterator ? function(e) {
                return typeof e
            } : function(e) {
                return e && "function" === typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e
            })(e)
        }

        function ua(e, t) {
            for (var n = 0; n < t.length; n++) {
                var r = t[n];
                r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(e, r.key, r)
            }
        }

        function la(e, t) {
            return !t || "object" !== ca(t) && "function" !== typeof t ? function(e) {
                if (void 0 === e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
                return e
            }(e) : t
        }

        function pa(e) {
            return (pa = Object.setPrototypeOf ? Object.getPrototypeOf : function(e) {
                return e.__proto__ || Object.getPrototypeOf(e)
            })(e)
        }

        function fa(e, t) {
            return (fa = Object.setPrototypeOf || function(e, t) {
                return e.__proto__ = t, e
            })(e, t)
        }
        var ya, ba, ha, da = (oa = ra = function(e) {
                function t() {
                    return function(e, t) {
                        if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function")
                    }(this, t), la(this, pa(t).apply(this, arguments))
                }
                var n, r, i;
                return function(e, t) {
                    if ("function" !== typeof t && null !== t) throw new TypeError("Super expression must either be null or a function");
                    e.prototype = Object.create(t && t.prototype, {
                        constructor: {
                            value: e,
                            writable: !0,
                            configurable: !0
                        }
                    }), t && fa(e, t)
                }(t, o["PureComponent"]), n = t, (r = [{
                    key: "onDelete",
                    value: function() {
                        this.props.onDelete && this.props.onDelete(this.props.index)
                    }
                }, {
                    key: "render",
                    value: function() {
                        var e = this.props,
                            t = e.text,
                            n = e.onDelete,
                            r = e.size,
                            o = e.clickable,
                            i = e.isSelected,
                            s = e.to,
                            c = Je()(sa.a.tag, !!n && sa.a.deletable, o && sa.a.clickable, r === Ot.d.MEDIUM && sa.a.mediumSize, r === Ot.d.SMALL && sa.a.smallSize, i && sa.a.isSelected);
                        return o ? a.a.createElement($e.l, {
                            className: c,
                            to: s,
                            noTheme: !0
                        }, t) : a.a.createElement("div", {
                            className: c
                        }, t, !!n && a.a.createElement("div", {
                            className: sa.a.deleteButton,
                            onClick: this.onDelete
                        }, a.a.createElement($e.i, {
                            icon: "cancel-circled"
                        })), " ")
                    }
                }]) && ua(n.prototype, r), i && ua(n, i), t
            }(), ra.propTypes = {
                text: He.a.string.isRequired,
                onDelete: He.a.func,
                clickable: He.a.bool,
                index: He.a.number.isRequired,
                size: He.a.oneOf([Ot.d.MEDIUM, Ot.d.SMALL]),
                isSelected: He.a.bool,
                to: He.a.object.isRequired
            }, ra.defaultProps = {
                size: Ot.d.MEDIUM,
                isSelected: !1,
                clickable: !1
            }, function(e, t, n, r, o) {
                var a = {};
                Object.keys(r).forEach(function(e) {
                    a[e] = r[e]
                }), a.enumerable = !!a.enumerable, a.configurable = !!a.configurable, ("value" in a || a.initializer) && (a.writable = !0), a = n.slice().reverse().reduce(function(n, r) {
                    return r(e, t, n) || n
                }, a), o && void 0 !== a.initializer && (a.value = a.initializer ? a.initializer.call(o) : void 0, a.initializer = void 0), void 0 === a.initializer && (Object.defineProperty(e, t, a), a = null)
            }((na = oa).prototype, "onDelete", [vt.a], Object.getOwnPropertyDescriptor(na.prototype, "onDelete"), na.prototype), na),
            ma = n("./app/js/components/AccountPage/Tags/TagList.css"),
            ga = n.n(ma);

        function va(e) {
            return (va = "function" === typeof Symbol && "symbol" === typeof Symbol.iterator ? function(e) {
                return typeof e
            } : function(e) {
                return e && "function" === typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e
            })(e)
        }

        function _a() {
            return (_a = Object.assign || function(e) {
                for (var t = 1; t < arguments.length; t++) {
                    var n = arguments[t];
                    for (var r in n) Object.prototype.hasOwnProperty.call(n, r) && (e[r] = n[r])
                }
                return e
            }).apply(this, arguments)
        }

        function Oa(e) {
            for (var t = 1; t < arguments.length; t++) {
                var n = null != arguments[t] ? arguments[t] : {},
                    r = Object.keys(n);
                "function" === typeof Object.getOwnPropertySymbols && (r = r.concat(Object.getOwnPropertySymbols(n).filter(function(e) {
                    return Object.getOwnPropertyDescriptor(n, e).enumerable
                }))), r.forEach(function(t) {
                    ja(e, t, n[t])
                })
            }
            return e
        }

        function ja(e, t, n) {
            return t in e ? Object.defineProperty(e, t, {
                value: n,
                enumerable: !0,
                configurable: !0,
                writable: !0
            }) : e[t] = n, e
        }

        function wa(e, t) {
            if (null == e) return {};
            var n, r, o = function(e, t) {
                if (null == e) return {};
                var n, r, o = {},
                    a = Object.keys(e);
                for (r = 0; r < a.length; r++) n = a[r], t.indexOf(n) >= 0 || (o[n] = e[n]);
                return o
            }(e, t);
            if (Object.getOwnPropertySymbols) {
                var a = Object.getOwnPropertySymbols(e);
                for (r = 0; r < a.length; r++) n = a[r], t.indexOf(n) >= 0 || Object.prototype.propertyIsEnumerable.call(e, n) && (o[n] = e[n])
            }
            return o
        }

        function ka(e, t) {
            for (var n = 0; n < t.length; n++) {
                var r = t[n];
                r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(e, r.key, r)
            }
        }

        function Ea(e, t) {
            return !t || "object" !== va(t) && "function" !== typeof t ? function(e) {
                if (void 0 === e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
                return e
            }(e) : t
        }

        function Sa(e) {
            return (Sa = Object.setPrototypeOf ? Object.getPrototypeOf : function(e) {
                return e.__proto__ || Object.getPrototypeOf(e)
            })(e)
        }

        function xa(e, t) {
            return (xa = Object.setPrototypeOf || function(e, t) {
                return e.__proto__ = t, e
            })(e, t)
        }
        var Ca, Pa, Ta, Ra = Object(vt.f)((ha = ba = function(e) {
                function t() {
                    return function(e, t) {
                        if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function")
                    }(this, t), Ea(this, Sa(t).apply(this, arguments))
                }
                var n, r, i;
                return function(e, t) {
                    if ("function" !== typeof t && null !== t) throw new TypeError("Super expression must either be null or a function");
                    e.prototype = Object.create(t && t.prototype, {
                        constructor: {
                            value: e,
                            writable: !0,
                            configurable: !0
                        }
                    }), t && xa(e, t)
                }(t, o["PureComponent"]), n = t, (r = [{
                    key: "render",
                    value: function() {
                        var e = this.props,
                            t = e.className,
                            n = e.tags,
                            r = e.ignoreEmpty,
                            o = e.location,
                            i = wa(e, ["className", "tags", "ignoreEmpty", "location"]);
                        if (N.a.isEmpty(n)) return r ? null : a.a.createElement($e.o, null, Object(Ke.a)("You have no tags yet, add some and organize your entries!"));
                        var s = an.a.parse(o.search);
                        return a.a.createElement("div", {
                            className: Je()(ga.a.taglist, t)
                        }, n.sort().map(function(e, t) {
                            var n = [].concat(s.filterTags || []),
                                r = n.indexOf(e); - 1 !== r ? n.splice(r, 1) : n.push(e);
                            var c = Object.assign({}, o, {
                                search: an.a.stringify(Oa({}, s, {
                                    filterTags: n
                                }))
                            });
                            return a.a.createElement(da, _a({
                                text: e,
                                index: t,
                                key: "tag-".concat(t),
                                isSelected: -1 !== r,
                                to: c
                            }, i))
                        }))
                    }
                }]) && ka(n.prototype, r), i && ka(n, i), t
            }(), ba.propTypes = {
                tags: He.a.array.isRequired,
                className: He.a.string,
                ignoreEmpty: He.a.bool,
                location: He.a.object.isRequired
            }, ya = ha)) || ya,
            Na = n("./app/js/components/Modal/AccountEditModal/AccountContent.css"),
            Ma = n.n(Na);

        function Aa(e) {
            return (Aa = "function" === typeof Symbol && "symbol" === typeof Symbol.iterator ? function(e) {
                return typeof e
            } : function(e) {
                return e && "function" === typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e
            })(e)
        }

        function Ia(e) {
            return function(e) {
                if (Array.isArray(e)) {
                    for (var t = 0, n = new Array(e.length); t < e.length; t++) n[t] = e[t];
                    return n
                }
            }(e) || function(e) {
                if (Symbol.iterator in Object(e) || "[object Arguments]" === Object.prototype.toString.call(e)) return Array.from(e)
            }(e) || function() {
                throw new TypeError("Invalid attempt to spread non-iterable instance")
            }()
        }

        function La(e, t) {
            for (var n = 0; n < t.length; n++) {
                var r = t[n];
                r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(e, r.key, r)
            }
        }

        function Da(e, t) {
            return !t || "object" !== Aa(t) && "function" !== typeof t ? function(e) {
                if (void 0 === e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
                return e
            }(e) : t
        }

        function qa(e) {
            return (qa = Object.setPrototypeOf ? Object.getPrototypeOf : function(e) {
                return e.__proto__ || Object.getPrototypeOf(e)
            })(e)
        }

        function Fa(e, t) {
            return (Fa = Object.setPrototypeOf || function(e, t) {
                return e.__proto__ = t, e
            })(e, t)
        }

        function za(e, t, n, r, o) {
            var a = {};
            return Object.keys(r).forEach(function(e) {
                a[e] = r[e]
            }), a.enumerable = !!a.enumerable, a.configurable = !!a.configurable, ("value" in a || a.initializer) && (a.writable = !0), a = n.slice().reverse().reduce(function(n, r) {
                return r(e, t, n) || n
            }, a), o && void 0 !== a.initializer && (a.value = a.initializer ? a.initializer.call(o) : void 0, a.initializer = void 0), void 0 === a.initializer && (Object.defineProperty(e, t, a), a = null), a
        }
        var Ga, Ba, Ua, Ha = (Ta = Pa = function(e) {
                function t() {
                    var e, n;
                    ! function(e, t) {
                        if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function")
                    }(this, t);
                    for (var r = arguments.length, o = new Array(r), a = 0; a < r; a++) o[a] = arguments[a];
                    return (n = Da(this, (e = qa(t)).call.apply(e, [this].concat(o)))).state = {
                        tags: n.props.tags,
                        tagToBeAdded: ""
                    }, n
                }
                var n, r, i;
                return function(e, t) {
                    if ("function" !== typeof t && null !== t) throw new TypeError("Super expression must either be null or a function");
                    e.prototype = Object.create(t && t.prototype, {
                        constructor: {
                            value: e,
                            writable: !0,
                            configurable: !0
                        }
                    }), t && Fa(e, t)
                }(t, o["Component"]), n = t, (r = [{
                    key: "onTitleChange",
                    value: function(e) {
                        this.props.onTitleChange(e)
                    }
                }, {
                    key: "onAddTagInput",
                    value: function(e) {
                        this.setState({
                            tagToBeAdded: e
                        })
                    }
                }, {
                    key: "onAddTagClick",
                    value: function() {
                        var e = [].concat(Ia(this.state.tags), [this.state.tagToBeAdded]);
                        this.setState({
                            tags: e,
                            tagToBeAdded: ""
                        }), this.props.onTagsChange(e)
                    }
                }, {
                    key: "onDeleteTag",
                    value: function(e) {
                        var t = [].concat(Ia(this.state.tags.slice(0, e)), Ia(this.state.tags.slice(e + 1)));
                        this.setState({
                            tags: t
                        }), this.props.onTagsChange(t)
                    }
                }, {
                    key: "onSubmit",
                    value: function(e) {
                        e.stopPropagation(), e.preventDefault(), this.state.tagToBeAdded.length > 0 && -1 === this.state.tags.indexOf(this.state.tagToBeAdded) && this.onAddTagClick()
                    }
                }, {
                    key: "render",
                    value: function() {
                        var e = this.state,
                            t = e.tagToBeAdded,
                            n = e.tags;
                        return a.a.createElement("div", null, a.a.createElement("div", {
                            className: Ma.a.section
                        }, a.a.createElement($e.k, {
                            text: Object(Ke.a)("Edit title")
                        }), a.a.createElement($e.u, {
                            defaultValue: this.props.title,
                            onChange: this.onTitleChange,
                            placeholder: Object(Ke.a)("Insert a personal title"),
                            maxlength: 150
                        })), a.a.createElement("div", {
                            className: Ma.a.section
                        }, a.a.createElement($e.k, {
                            text: Object(Ke.a)("Tags")
                        }), a.a.createElement(Ra, {
                            tags: n,
                            onDelete: this.onDeleteTag
                        })), a.a.createElement("form", {
                            className: Ma.a.section,
                            onSubmit: this.onSubmit
                        }, a.a.createElement($e.k, {
                            text: Object(Ke.a)("Add tag")
                        }), a.a.createElement($e.u, {
                            onChange: this.onAddTagInput,
                            placeholder: Object(Ke.a)("Any word can be used as a tag"),
                            value: t,
                            maxlength: 125
                        }), a.a.createElement($e.a, {
                            text: Object(Ke.a)("Add tag"),
                            onClick: this.onAddTagClick,
                            disabled: 0 === t.length || -1 !== n.indexOf(t),
                            className: Ma.a.addTagButton
                        })))
                    }
                }]) && La(n.prototype, r), i && La(n, i), t
            }(), Pa.propTypes = {
                title: He.a.string,
                tags: He.a.array,
                onTagsChange: He.a.func.isRequired,
                onTitleChange: He.a.func.isRequired
            }, Pa.defaultProps = {
                tags: [],
                title: ""
            }, za((Ca = Ta).prototype, "onTitleChange", [vt.a], Object.getOwnPropertyDescriptor(Ca.prototype, "onTitleChange"), Ca.prototype), za(Ca.prototype, "onAddTagInput", [vt.a], Object.getOwnPropertyDescriptor(Ca.prototype, "onAddTagInput"), Ca.prototype), za(Ca.prototype, "onAddTagClick", [vt.a], Object.getOwnPropertyDescriptor(Ca.prototype, "onAddTagClick"), Ca.prototype), za(Ca.prototype, "onDeleteTag", [vt.a], Object.getOwnPropertyDescriptor(Ca.prototype, "onDeleteTag"), Ca.prototype), za(Ca.prototype, "onSubmit", [vt.a], Object.getOwnPropertyDescriptor(Ca.prototype, "onSubmit"), Ca.prototype), Ca),
            Wa = n("./app/js/components/Modal/SaveModal/SaveContent.css"),
            Va = n.n(Wa);

        function Ka(e) {
            return (Ka = "function" === typeof Symbol && "symbol" === typeof Symbol.iterator ? function(e) {
                return typeof e
            } : function(e) {
                return e && "function" === typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e
            })(e)
        }

        function $a(e, t) {
            for (var n = 0; n < t.length; n++) {
                var r = t[n];
                r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(e, r.key, r)
            }
        }

        function Ya(e, t) {
            return !t || "object" !== Ka(t) && "function" !== typeof t ? function(e) {
                if (void 0 === e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
                return e
            }(e) : t
        }

        function Ja(e) {
            return (Ja = Object.setPrototypeOf ? Object.getPrototypeOf : function(e) {
                return e.__proto__ || Object.getPrototypeOf(e)
            })(e)
        }

        function Qa(e, t) {
            return (Qa = Object.setPrototypeOf || function(e, t) {
                return e.__proto__ = t, e
            })(e, t)
        }
        var Xa, Za, ei, ti, ni = (Ua = Ba = function(e) {
                function t() {
                    return function(e, t) {
                        if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function")
                    }(this, t), Ya(this, Ja(t).apply(this, arguments))
                }
                var n, r, i;
                return function(e, t) {
                    if ("function" !== typeof t && null !== t) throw new TypeError("Super expression must either be null or a function");
                    e.prototype = Object.create(t && t.prototype, {
                        constructor: {
                            value: e,
                            writable: !0,
                            configurable: !0
                        }
                    }), t && Qa(e, t)
                }(t, o["PureComponent"]), n = t, (r = [{
                    key: "_getDeleteLinkMessage",
                    value: function() {
                        return this.props.userId ? Object(Ke.a)("Remember that you can also delete this regex from the account page at any time.") : Object(Ke.a)("This link will only be presented to you once! Save it if you want to be able to delete your regex in the future.")
                    }
                }, {
                    key: "render",
                    value: function() {
                        var e = this.props,
                            t = e.permalink,
                            n = e.error,
                            r = e.accessDenied,
                            o = e.onForkRegexClick,
                            i = e.userId;
                        return r ? a.a.createElement("div", null, a.a.createElement($e.k, {
                            text: Object(Ke.a)("You can't do that!")
                        }), a.a.createElement("p", {
                            className: Va.a.paragraph
                        }, Object(Ke.a)("The owner of this permalink has locked it and as such, nobody but the creator may edit it."), " ", Object(Ke.a)("This is to avoid confusion for anyone else viewing this permalink and to not corrupt the authors work.")), a.a.createElement("p", {
                            className: Va.a.paragraph
                        }, Object(Ke.a)("If you want to use this regex and data in your own experiments, click the `Fork Regex` button below instead."), " ", Object(Ke.a)("The `Fork Regex` button will create a copy of this document, but one that you may modify, without altering this entry.")), a.a.createElement($e.a, {
                            onClick: o,
                            text: Object(Ke.a)("Fork Regex")
                        })) : n ? a.a.createElement("div", {
                            className: Va.a.centered
                        }, a.a.createElement($e.o, {
                            type: Ot.c.ERROR
                        }, Object(Ke.a)("There was an error trying to save your regex. Please try again later."))) : t ? a.a.createElement("div", null, a.a.createElement("div", null, a.a.createElement($e.k, {
                            text: Object(Ke.a)("Link to regular expression")
                        }), a.a.createElement($e.u, {
                            type: "text",
                            value: t,
                            selectOnMount: !0,
                            selectTextOnClick: !0,
                            readOnly: !0,
                            copyButton: !0
                        }), a.a.createElement($e.o, {
                            className: Va.a.note
                        }, Object(Ke.a)("Your regex has been permanently saved and may be accessed with this link by anybody you give it to.")), null != i && a.a.createElement($e.o, {
                            className: Va.a.note
                        }, Object(Ke.a)("The entry has automatically been added to your account which means you can at any time delete this entry, make it private and much much more.")), null == i && a.a.createElement($e.o, {
                            className: Va.a.note
                        }, Object(Ke.a)("Because you are not signed in this entry has not been tied to an account. It is recommended you sign in so that your entries are never lost and you can manage them from the account page whenever you like.")))) : a.a.createElement("div", {
                            className: Va.a.centered
                        }, a.a.createElement($e.r, null), a.a.createElement($e.o, {
                            className: Va.a.note
                        }, Object(Ke.a)("Please wait while your request is being processed.")))
                    }
                }]) && $a(n.prototype, r), i && $a(n, i), t
            }(), Ba.propTypes = {
                permalink: He.a.string,
                error: He.a.bool,
                accessDenied: He.a.bool,
                isForking: He.a.bool,
                isUpdating: He.a.bool,
                userId: He.a.number,
                onForkRegexClick: He.a.func.isRequired
            }, function(e, t, n, r, o) {
                var a = {};
                Object.keys(r).forEach(function(e) {
                    a[e] = r[e]
                }), a.enumerable = !!a.enumerable, a.configurable = !!a.configurable, ("value" in a || a.initializer) && (a.writable = !0), a = n.slice().reverse().reduce(function(n, r) {
                    return r(e, t, n) || n
                }, a), o && void 0 !== a.initializer && (a.value = a.initializer ? a.initializer.call(o) : void 0, a.initializer = void 0), void 0 === a.initializer && (Object.defineProperty(e, t, a), a = null)
            }((Ga = Ua).prototype, "_getDeleteLinkMessage", [vt.a], Object.getOwnPropertyDescriptor(Ga.prototype, "_getDeleteLinkMessage"), Ga.prototype), Ga),
            ri = n("./app/js/components/Modal/SaveModal/SaveModal.css"),
            oi = n.n(ri);

        function ai(e) {
            return (ai = "function" === typeof Symbol && "symbol" === typeof Symbol.iterator ? function(e) {
                return typeof e
            } : function(e) {
                return e && "function" === typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e
            })(e)
        }

        function ii(e, t) {
            for (var n = 0; n < t.length; n++) {
                var r = t[n];
                r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(e, r.key, r)
            }
        }

        function si(e, t) {
            return !t || "object" !== ai(t) && "function" !== typeof t ? function(e) {
                if (void 0 === e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
                return e
            }(e) : t
        }

        function ci(e) {
            return (ci = Object.setPrototypeOf ? Object.getPrototypeOf : function(e) {
                return e.__proto__ || Object.getPrototypeOf(e)
            })(e)
        }

        function ui(e, t) {
            return (ui = Object.setPrototypeOf || function(e, t) {
                return e.__proto__ = t, e
            })(e, t)
        }

        function li(e, t, n, r, o) {
            var a = {};
            return Object.keys(r).forEach(function(e) {
                a[e] = r[e]
            }), a.enumerable = !!a.enumerable, a.configurable = !!a.configurable, ("value" in a || a.initializer) && (a.writable = !0), a = n.slice().reverse().reduce(function(n, r) {
                return r(e, t, n) || n
            }, a), o && void 0 !== a.initializer && (a.value = a.initializer ? a.initializer.call(o) : void 0, a.initializer = void 0), void 0 === a.initializer && (Object.defineProperty(e, t, a), a = null), a
        }
        var pi = Object(We.b)(function(e) {
                return {
                    permalinkFragment: e.general.permalinkFragment,
                    deleteCode: e.general.deleteCode,
                    version: e.general.version,
                    userId: e.general.userId
                }
            })(Xa = Object(vt.f)((ti = ei = function(e) {
                function t() {
                    var e, n;
                    ! function(e, t) {
                        if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function")
                    }(this, t);
                    for (var r = arguments.length, o = new Array(r), a = 0; a < r; a++) o[a] = arguments[a];
                    return (n = si(this, (e = ci(t)).call.apply(e, [this].concat(o)))).state = {
                        permalink: null,
                        error: null,
                        accessDenied: !1,
                        isForking: !1,
                        hasModified: !1,
                        isUpdating: !!n.props.permalinkFragment
                    }, n._accountEntryTags = [], n._accountEntryTitle = "", n
                }
                var n, r, i;
                return function(e, t) {
                    if ("function" !== typeof t && null !== t) throw new TypeError("Super expression must either be null or a function");
                    e.prototype = Object.create(t && t.prototype, {
                        constructor: {
                            value: e,
                            writable: !0,
                            configurable: !0
                        }
                    }), t && ui(e, t)
                }(t, o["Component"]), n = t, (r = [{
                    key: "componentWillReceiveProps",
                    value: function(e) {
                        var t = this.props,
                            n = t.permalinkFragment,
                            r = t.version,
                            o = t.deleteCode,
                            a = t.isOpen;
                        if (!a && e.isOpen && (this.setState({
                                permalink: null,
                                error: null,
                                accessDenied: !1,
                                isForking: e.isForking
                            }), this._forkOrSaveRegex(e.isForking, e.location)), a && (n !== e.permalinkFragment || r !== e.version || o !== e.deleteCode)) {
                            var i = location.protocol + "//" + location.hostname;
                            this.setState({
                                permalink: i + Object(sn.a)(e.permalinkFragment, e.version),
                                isUpdating: !!this.props.permalinkFragment
                            }), e.deleteCode && Object(Pe.a)(e.permalinkFragment, e.deleteCode)
                        }
                    }
                }, {
                    key: "onForkRegexClick",
                    value: function() {
                        this.setState({
                            permalink: null,
                            error: null,
                            accessDenied: !1,
                            isForking: !0
                        }), this._forkOrSaveRegex(!0, this.props.location)
                    }
                }, {
                    key: "onModalClose",
                    value: function() {
                        var e = this.props,
                            t = e.dispatch,
                            n = e.permalinkFragment,
                            r = e.version,
                            o = e.onModalClose;
                        null != e.userId && (t(Object(ne.K)(this._accountEntryTags, null, n, r)), t(Object(ne.L)(this._accountEntryTitle, null, n, r))), o()
                    }
                }, {
                    key: "onTagsChange",
                    value: function(e) {
                        this._accountEntryTags = e, this.setState({
                            hasModified: !0
                        })
                    }
                }, {
                    key: "onTitleChange",
                    value: function(e) {
                        this._accountEntryTitle = e, this.setState({
                            hasModified: !0
                        })
                    }
                }, {
                    key: "_forkOrSaveRegex",
                    value: function(e, t) {
                        var n = this;
                        (e ? this.props.dispatch(Object(ne.h)(this.props.history.replace, t)) : this.props.dispatch(Object(ne.q)(this.props.history.replace, t))).catch(function(e) {
                            s.a.error("Unable to save regex", e), e.response && e.response.status > 400 && e.response.status < 404 ? n.setState({
                                accessDenied: !0
                            }) : n.setState({
                                error: e.message
                            })
                        })
                    }
                }, {
                    key: "_getTitle",
                    value: function() {
                        return this.state.isForking ? Object(Ke.a)("Fork Regular Expression") : this.state.isUpdating ? Object(Ke.a)("Update Regular Expression") : Object(Ke.a)("Save Regular Expression")
                    }
                }, {
                    key: "render",
                    value: function() {
                        var e = this.props,
                            t = e.isOpen,
                            n = e.userId,
                            r = this.state,
                            o = r.error,
                            i = r.accessDenied;
                        return a.a.createElement(qo, {
                            isOpen: t,
                            onModalClose: this.onModalClose
                        }, a.a.createElement(Ho, {
                            titleIcon: "floppy"
                        }, this._getTitle()), a.a.createElement(Jo, null, this._renderContent()), a.a.createElement(aa, null, null != n && !i && !o && a.a.createElement($e.a, {
                            onClick: this.onModalClose,
                            text: Object(Ke.a)("Save"),
                            className: oi.a.saveButton,
                            disabled: !this.state.hasModified
                        }), a.a.createElement($e.a, {
                            type: Ot.e.CANCEL,
                            onClick: this.props.onModalClose,
                            text: Object(Ke.a)("Close")
                        })))
                    }
                }, {
                    key: "_renderContent",
                    value: function() {
                        var e = this.props,
                            t = e.permalinkFragment,
                            n = e.userId,
                            r = this.state,
                            o = r.isForking,
                            i = r.error,
                            s = r.accessDenied,
                            c = r.permalink,
                            u = a.a.createElement(ni, {
                                isUpdating: !!t,
                                isForking: o,
                                error: !!i,
                                accessDenied: s,
                                permalink: c,
                                userId: n,
                                onForkRegexClick: this.onForkRegexClick
                            });
                        if (!n || i || s) return u;
                        var l = [Object(Ke.a)("Saved regex"), Object(Ke.a)("Account data")];
                        return a.a.createElement(xo, {
                            tabs: l
                        }, a.a.createElement(bo, null, u), a.a.createElement(bo, null, a.a.createElement(Ha, {
                            onTagsChange: this.onTagsChange,
                            onTitleChange: this.onTitleChange
                        })))
                    }
                }]) && ii(n.prototype, r), i && ii(n, i), t
            }(), ei.propTypes = {
                dispatch: He.a.func.isRequired,
                permalinkFragment: He.a.string,
                deleteCode: He.a.string,
                version: He.a.number,
                isForking: He.a.bool,
                onModalClose: He.a.func.isRequired,
                isOpen: He.a.bool.isRequired,
                userId: He.a.number,
                history: He.a.shape({
                    replace: He.a.func.isRequired
                }).isRequired,
                location: He.a.object.isRequired
            }, li((Za = ti).prototype, "onForkRegexClick", [vt.a], Object.getOwnPropertyDescriptor(Za.prototype, "onForkRegexClick"), Za.prototype), li(Za.prototype, "onModalClose", [vt.a], Object.getOwnPropertyDescriptor(Za.prototype, "onModalClose"), Za.prototype), li(Za.prototype, "onTagsChange", [vt.a], Object.getOwnPropertyDescriptor(Za.prototype, "onTagsChange"), Za.prototype), li(Za.prototype, "onTitleChange", [vt.a], Object.getOwnPropertyDescriptor(Za.prototype, "onTitleChange"), Za.prototype), li(Za.prototype, "_forkOrSaveRegex", [vt.a], Object.getOwnPropertyDescriptor(Za.prototype, "_forkOrSaveRegex"), Za.prototype), li(Za.prototype, "_renderContent", [vt.a], Object.getOwnPropertyDescriptor(Za.prototype, "_renderContent"), Za.prototype), Xa = Za)) || Xa) || Xa,
            fi = n("./node_modules/react-markdown/src/react-markdown.js"),
            yi = n.n(fi),
            bi = n("./app/js/containers/MarkdownContainer.css"),
            hi = n.n(bi);

        function di(e) {
            return (di = "function" === typeof Symbol && "symbol" === typeof Symbol.iterator ? function(e) {
                return typeof e
            } : function(e) {
                return e && "function" === typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e
            })(e)
        }

        function mi() {
            return (mi = Object.assign || function(e) {
                for (var t = 1; t < arguments.length; t++) {
                    var n = arguments[t];
                    for (var r in n) Object.prototype.hasOwnProperty.call(n, r) && (e[r] = n[r])
                }
                return e
            }).apply(this, arguments)
        }

        function gi(e, t, n) {
            return t in e ? Object.defineProperty(e, t, {
                value: n,
                enumerable: !0,
                configurable: !0,
                writable: !0
            }) : e[t] = n, e
        }

        function vi(e, t) {
            if (null == e) return {};
            var n, r, o = function(e, t) {
                if (null == e) return {};
                var n, r, o = {},
                    a = Object.keys(e);
                for (r = 0; r < a.length; r++) n = a[r], t.indexOf(n) >= 0 || (o[n] = e[n]);
                return o
            }(e, t);
            if (Object.getOwnPropertySymbols) {
                var a = Object.getOwnPropertySymbols(e);
                for (r = 0; r < a.length; r++) n = a[r], t.indexOf(n) >= 0 || Object.prototype.propertyIsEnumerable.call(e, n) && (o[n] = e[n])
            }
            return o
        }

        function _i(e, t) {
            for (var n = 0; n < t.length; n++) {
                var r = t[n];
                r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(e, r.key, r)
            }
        }

        function Oi(e, t) {
            return !t || "object" !== di(t) && "function" !== typeof t ? function(e) {
                if (void 0 === e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
                return e
            }(e) : t
        }

        function ji(e) {
            return (ji = Object.setPrototypeOf ? Object.getPrototypeOf : function(e) {
                return e.__proto__ || Object.getPrototypeOf(e)
            })(e)
        }

        function wi(e, t) {
            return (wi = Object.setPrototypeOf || function(e, t) {
                return e.__proto__ = t, e
            })(e, t)
        }
        var ki = function(e) {
            function t() {
                return function(e, t) {
                    if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function")
                }(this, t), Oi(this, ji(t).apply(this, arguments))
            }
            var n, r, i;
            return function(e, t) {
                if ("function" !== typeof t && null !== t) throw new TypeError("Super expression must either be null or a function");
                e.prototype = Object.create(t && t.prototype, {
                    constructor: {
                        value: e,
                        writable: !0,
                        configurable: !0
                    }
                }), t && wi(e, t)
            }(t, o["Component"]), n = t, (r = [{
                key: "render",
                value: function() {
                    var e = this.props,
                        t = e.className,
                        n = e.disallowedTypes,
                        r = e.renderers,
                        o = vi(e, ["className", "disallowedTypes", "renderers"]),
                        i = function(e) {
                            for (var t = 1; t < arguments.length; t++) {
                                var n = null != arguments[t] ? arguments[t] : {},
                                    r = Object.keys(n);
                                "function" === typeof Object.getOwnPropertySymbols && (r = r.concat(Object.getOwnPropertySymbols(n).filter(function(e) {
                                    return Object.getOwnPropertyDescriptor(n, e).enumerable
                                }))), r.forEach(function(t) {
                                    gi(e, t, n[t])
                                })
                            }
                            return e
                        }({
                            Link: Ei
                        }, r);
                    return a.a.createElement(yi.a, mi({
                        disallowedTypes: ["a"].concat(n),
                        className: Je()(hi.a.markdownContainer, t),
                        renderers: i,
                        escapeHtml: !0
                    }, o))
                }
            }]) && _i(n.prototype, r), i && _i(n, i), t
        }();
        ki.propTypes = {
            className: He.a.string,
            disallowedTypes: He.a.array,
            renderers: He.a.object
        }, ki.defaultProps = {
            renderers: {},
            disallowedTypes: []
        };
        var Ei = function(e) {
            var t = e.href,
                n = e.children;
            return a.a.createElement($e.l, {
                to: t,
                target: "_blank",
                absolute: !0
            }, n)
        };
        Ei.propTypes = {
            href: He.a.string.isRequired,
            children: He.a.node
        };
        var Si = ki;
        var xi = n("./app/js/components/Menu/MenuContainer.css"),
            Ci = n.n(xi);

        function Pi(e) {
            return (Pi = "function" === typeof Symbol && "symbol" === typeof Symbol.iterator ? function(e) {
                return typeof e
            } : function(e) {
                return e && "function" === typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e
            })(e)
        }

        function Ti() {
            return (Ti = Object.assign || function(e) {
                for (var t = 1; t < arguments.length; t++) {
                    var n = arguments[t];
                    for (var r in n) Object.prototype.hasOwnProperty.call(n, r) && (e[r] = n[r])
                }
                return e
            }).apply(this, arguments)
        }

        function Ri(e, t) {
            if (null == e) return {};
            var n, r, o = function(e, t) {
                if (null == e) return {};
                var n, r, o = {},
                    a = Object.keys(e);
                for (r = 0; r < a.length; r++) n = a[r], t.indexOf(n) >= 0 || (o[n] = e[n]);
                return o
            }(e, t);
            if (Object.getOwnPropertySymbols) {
                var a = Object.getOwnPropertySymbols(e);
                for (r = 0; r < a.length; r++) n = a[r], t.indexOf(n) >= 0 || Object.prototype.propertyIsEnumerable.call(e, n) && (o[n] = e[n])
            }
            return o
        }

        function Ni(e, t) {
            for (var n = 0; n < t.length; n++) {
                var r = t[n];
                r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(e, r.key, r)
            }
        }

        function Mi(e, t) {
            return !t || "object" !== Pi(t) && "function" !== typeof t ? function(e) {
                if (void 0 === e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
                return e
            }(e) : t
        }

        function Ai(e) {
            return (Ai = Object.setPrototypeOf ? Object.getPrototypeOf : function(e) {
                return e.__proto__ || Object.getPrototypeOf(e)
            })(e)
        }

        function Ii(e, t) {
            return (Ii = Object.setPrototypeOf || function(e, t) {
                return e.__proto__ = t, e
            })(e, t)
        }
        var Li = function(e) {
            function t() {
                return function(e, t) {
                    if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function")
                }(this, t), Mi(this, Ai(t).apply(this, arguments))
            }
            var n, r, s;
            return function(e, t) {
                if ("function" !== typeof t && null !== t) throw new TypeError("Super expression must either be null or a function");
                e.prototype = Object.create(t && t.prototype, {
                    constructor: {
                        value: e,
                        writable: !0,
                        configurable: !0
                    }
                }), t && Ii(e, t)
            }(t, o["Component"]), n = t, (r = [{
                key: "componentDidMount",
                value: function() {
                    var e = Object(i.findDOMNode)(this),
                        t = Object(Wt.a)(Kt.a.menuSpeed);
                    setTimeout(function() {
                        var t = e.getBoundingClientRect();
                        e.style.maxHeight = "calc(100vh - ".concat(t.top, "px)")
                    }, t)
                }
            }, {
                key: "render",
                value: function() {
                    var e = this.props,
                        t = e.className,
                        n = e.children,
                        r = Ri(e, ["className", "children"]);
                    return a.a.createElement("div", Ti({
                        role: "menu",
                        className: Je()(t, Ci.a.menu)
                    }, r), n)
                }
            }]) && Ni(n.prototype, r), s && Ni(n, s), t
        }();
        Li.propTypes = {
            className: He.a.string,
            children: He.a.node.isRequired
        };
        var Di, qi, Fi, zi = Li,
            Gi = n("./app/js/components/Menu/Menu.css"),
            Bi = n.n(Gi);

        function Ui(e) {
            return (Ui = "function" === typeof Symbol && "symbol" === typeof Symbol.iterator ? function(e) {
                return typeof e
            } : function(e) {
                return e && "function" === typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e
            })(e)
        }

        function Hi() {
            return (Hi = Object.assign || function(e) {
                for (var t = 1; t < arguments.length; t++) {
                    var n = arguments[t];
                    for (var r in n) Object.prototype.hasOwnProperty.call(n, r) && (e[r] = n[r])
                }
                return e
            }).apply(this, arguments)
        }

        function Wi(e, t) {
            if (null == e) return {};
            var n, r, o = function(e, t) {
                if (null == e) return {};
                var n, r, o = {},
                    a = Object.keys(e);
                for (r = 0; r < a.length; r++) n = a[r], t.indexOf(n) >= 0 || (o[n] = e[n]);
                return o
            }(e, t);
            if (Object.getOwnPropertySymbols) {
                var a = Object.getOwnPropertySymbols(e);
                for (r = 0; r < a.length; r++) n = a[r], t.indexOf(n) >= 0 || Object.prototype.propertyIsEnumerable.call(e, n) && (o[n] = e[n])
            }
            return o
        }

        function Vi(e, t) {
            for (var n = 0; n < t.length; n++) {
                var r = t[n];
                r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(e, r.key, r)
            }
        }

        function Ki(e, t) {
            return !t || "object" !== Ui(t) && "function" !== typeof t ? function(e) {
                if (void 0 === e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
                return e
            }(e) : t
        }

        function $i(e) {
            return ($i = Object.setPrototypeOf ? Object.getPrototypeOf : function(e) {
                return e.__proto__ || Object.getPrototypeOf(e)
            })(e)
        }

        function Yi(e, t) {
            return (Yi = Object.setPrototypeOf || function(e, t) {
                return e.__proto__ = t, e
            })(e, t)
        }
        var Ji = Object(Wt.a)(Kt.a.menuSpeed),
            Qi = {
                appear: Bi.a.enter,
                appearActive: Bi.a.enterActive,
                enter: Bi.a.enter,
                enterActive: Bi.a.enterActive,
                leave: Bi.a.leave,
                leaveActive: Bi.a.leaveActive
            },
            Xi = (Fi = qi = function(e) {
                function t() {
                    return function(e, t) {
                        if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function")
                    }(this, t), Ki(this, $i(t).apply(this, arguments))
                }
                var n, r, s;
                return function(e, t) {
                    if ("function" !== typeof t && null !== t) throw new TypeError("Super expression must either be null or a function");
                    e.prototype = Object.create(t && t.prototype, {
                        constructor: {
                            value: e,
                            writable: !0,
                            configurable: !0
                        }
                    }), t && Yi(e, t)
                }(t, o["PureComponent"]), n = t, (r = [{
                    key: "componentDidMount",
                    value: function() {
                        this.props.isOpen && this._openMenu()
                    }
                }, {
                    key: "componentDidUpdate",
                    value: function(e) {
                        !e.isOpen && this.props.isOpen ? this._openMenu() : e.isOpen && !this.props.isOpen && this._closeMenu()
                    }
                }, {
                    key: "componentWillUnmount",
                    value: function() {
                        this.props.isOpen && this._closeMenu()
                    }
                }, {
                    key: "_openMenu",
                    value: function() {
                        _t.a.once("key:escape", this.onWindowPress), document.addEventListener("mouseup", this.onWindowPress), document.addEventListener("touchend", this.onWindowPress)
                    }
                }, {
                    key: "_closeMenu",
                    value: function() {
                        _t.a.off("key:escape", this.onWindowPress), document.removeEventListener("mouseup", this.onWindowPress), document.removeEventListener("touchend", this.onWindowPress)
                    }
                }, {
                    key: "onWindowPress",
                    value: function(e) {
                        e.stopPropagation();
                        var t = this.props.target,
                            n = Object(i.findDOMNode)(this.refs.menu),
                            r = n && n.contains(e.target),
                            o = !r && Object(i.findDOMNode)(t),
                            a = o && o.contains(e.target);
                        r || a || this.props.onMenuClose()
                    }
                }, {
                    key: "render",
                    value: function() {
                        var e = this.props,
                            t = e.className,
                            n = e.children,
                            r = e.target,
                            o = e.options,
                            i = e.isOpen,
                            s = e.onMenuClose,
                            c = e.closeOnClick,
                            u = Wi(e, ["className", "children", "target", "options", "isOpen", "onMenuClose", "closeOnClick"]);
                        return a.a.createElement($e.t, {
                            className: Bi.a.menuPortal,
                            target: r,
                            options: o,
                            isOpen: i,
                            closeTimeout: Ji
                        }, a.a.createElement($e.w, {
                            ref: "menu",
                            transitionName: Qi,
                            transitionAppearTimeout: Ji,
                            transitionEnterTimeout: Ji,
                            transitionLeaveTimeout: Ji
                        }, i && a.a.createElement(zi, Hi({
                            className: Je()(t, Bi.a.menu)
                        }, u), function(e, t, n) {
                            var r = 0;
                            return a.a.Children.map(e, function(e) {
                                if (a.a.isValidElement(e)) {
                                    var o = r;
                                    return r++, t.call(n, e, o)
                                }
                                return e
                            })
                        }(n, function(e) {
                            var t = function() {
                                for (var e = arguments.length, t = new Array(e), n = 0; n < e; n++) t[n] = arguments[n];
                                return function() {
                                    for (var e = 0, n = t.length; e < n; e++) {
                                        var r = t[e];
                                        "function" === typeof r && r.apply(void 0, arguments)
                                    }
                                }
                            }(c && s, e.props.onClick);
                            return a.a.cloneElement(e, {
                                onClick: t
                            })
                        }))))
                    }
                }]) && Vi(n.prototype, r), s && Vi(n, s), t
            }(), qi.propTypes = {
                className: He.a.string,
                children: He.a.node.isRequired,
                target: He.a.object,
                options: He.a.object,
                isOpen: He.a.bool.isRequired,
                onMenuClose: He.a.func.isRequired,
                closeOnClick: He.a.bool
            }, qi.defaultProps = {
                closeOnClick: !1
            }, function(e, t, n, r, o) {
                var a = {};
                Object.keys(r).forEach(function(e) {
                    a[e] = r[e]
                }), a.enumerable = !!a.enumerable, a.configurable = !!a.configurable, ("value" in a || a.initializer) && (a.writable = !0), a = n.slice().reverse().reduce(function(n, r) {
                    return r(e, t, n) || n
                }, a), o && void 0 !== a.initializer && (a.value = a.initializer ? a.initializer.call(o) : void 0, a.initializer = void 0), void 0 === a.initializer && (Object.defineProperty(e, t, a), a = null)
            }((Di = Fi).prototype, "onWindowPress", [vt.a], Object.getOwnPropertyDescriptor(Di.prototype, "onWindowPress"), Di.prototype), Di),
            Zi = n("./app/js/components/Menu/MenuItem.css"),
            es = n.n(Zi);

        function ts(e) {
            return (ts = "function" === typeof Symbol && "symbol" === typeof Symbol.iterator ? function(e) {
                return typeof e
            } : function(e) {
                return e && "function" === typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e
            })(e)
        }

        function ns() {
            return (ns = Object.assign || function(e) {
                for (var t = 1; t < arguments.length; t++) {
                    var n = arguments[t];
                    for (var r in n) Object.prototype.hasOwnProperty.call(n, r) && (e[r] = n[r])
                }
                return e
            }).apply(this, arguments)
        }

        function rs(e, t) {
            if (null == e) return {};
            var n, r, o = function(e, t) {
                if (null == e) return {};
                var n, r, o = {},
                    a = Object.keys(e);
                for (r = 0; r < a.length; r++) n = a[r], t.indexOf(n) >= 0 || (o[n] = e[n]);
                return o
            }(e, t);
            if (Object.getOwnPropertySymbols) {
                var a = Object.getOwnPropertySymbols(e);
                for (r = 0; r < a.length; r++) n = a[r], t.indexOf(n) >= 0 || Object.prototype.propertyIsEnumerable.call(e, n) && (o[n] = e[n])
            }
            return o
        }

        function os(e, t) {
            for (var n = 0; n < t.length; n++) {
                var r = t[n];
                r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(e, r.key, r)
            }
        }

        function as(e, t) {
            return !t || "object" !== ts(t) && "function" !== typeof t ? function(e) {
                if (void 0 === e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
                return e
            }(e) : t
        }

        function is(e) {
            return (is = Object.setPrototypeOf ? Object.getPrototypeOf : function(e) {
                return e.__proto__ || Object.getPrototypeOf(e)
            })(e)
        }

        function ss(e, t) {
            return (ss = Object.setPrototypeOf || function(e, t) {
                return e.__proto__ = t, e
            })(e, t)
        }
        var cs = function(e) {
            function t() {
                return function(e, t) {
                    if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function")
                }(this, t), as(this, is(t).apply(this, arguments))
            }
            var n, r, i;
            return function(e, t) {
                if ("function" !== typeof t && null !== t) throw new TypeError("Super expression must either be null or a function");
                e.prototype = Object.create(t && t.prototype, {
                    constructor: {
                        value: e,
                        writable: !0,
                        configurable: !0
                    }
                }), t && ss(e, t)
            }(t, o["Component"]), n = t, (r = [{
                key: "render",
                value: function() {
                    var e = this.props,
                        t = e.isActive,
                        n = e.tag,
                        r = e.children,
                        o = e.className,
                        i = e.disabled,
                        s = rs(e, ["isActive", "tag", "children", "className", "disabled"]);
                    return a.a.createElement(n, ns({
                        className: Je()(es.a.menuItem, o, i && es.a.disabled)
                    }, s), r, a.a.createElement($e.i, {
                        icon: "ok",
                        className: Je()(es.a.icon, !t && es.a.hidden)
                    }))
                }
            }]) && os(n.prototype, r), i && os(n, i), t
        }();
        cs.propTypes = {
            isActive: He.a.bool,
            children: He.a.node,
            className: He.a.string,
            disabled: He.a.bool,
            tag: He.a.oneOfType([He.a.string, He.a.func])
        }, cs.defaultProps = {
            tag: "div"
        };
        var us = cs,
            ls = n("./app/js/components/Menu/MenuHeader.css"),
            ps = n.n(ls);

        function fs(e) {
            return (fs = "function" === typeof Symbol && "symbol" === typeof Symbol.iterator ? function(e) {
                return typeof e
            } : function(e) {
                return e && "function" === typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e
            })(e)
        }

        function ys(e, t) {
            for (var n = 0; n < t.length; n++) {
                var r = t[n];
                r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(e, r.key, r)
            }
        }

        function bs(e, t) {
            return !t || "object" !== fs(t) && "function" !== typeof t ? function(e) {
                if (void 0 === e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
                return e
            }(e) : t
        }

        function hs(e) {
            return (hs = Object.setPrototypeOf ? Object.getPrototypeOf : function(e) {
                return e.__proto__ || Object.getPrototypeOf(e)
            })(e)
        }

        function ds(e, t) {
            return (ds = Object.setPrototypeOf || function(e, t) {
                return e.__proto__ = t, e
            })(e, t)
        }
        var ms = function(e) {
            function t() {
                return function(e, t) {
                    if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function")
                }(this, t), bs(this, hs(t).apply(this, arguments))
            }
            var n, r, i;
            return function(e, t) {
                if ("function" !== typeof t && null !== t) throw new TypeError("Super expression must either be null or a function");
                e.prototype = Object.create(t && t.prototype, {
                    constructor: {
                        value: e,
                        writable: !0,
                        configurable: !0
                    }
                }), t && ds(e, t)
            }(t, o["PureComponent"]), n = t, (r = [{
                key: "render",
                value: function() {
                    return a.a.createElement("div", {
                        className: ps.a.header
                    }, this.props.text)
                }
            }]) && ys(n.prototype, r), i && ys(n, i), t
        }();
        ms.propTypes = {
            text: He.a.string.isRequired
        };
        var gs = ms,
            vs = n("./app/js/components/Menu/MenuDivider.css"),
            _s = n.n(vs);

        function Os(e) {
            return (Os = "function" === typeof Symbol && "symbol" === typeof Symbol.iterator ? function(e) {
                return typeof e
            } : function(e) {
                return e && "function" === typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e
            })(e)
        }

        function js(e, t) {
            for (var n = 0; n < t.length; n++) {
                var r = t[n];
                r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(e, r.key, r)
            }
        }

        function ws(e, t) {
            return !t || "object" !== Os(t) && "function" !== typeof t ? function(e) {
                if (void 0 === e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
                return e
            }(e) : t
        }

        function ks(e) {
            return (ks = Object.setPrototypeOf ? Object.getPrototypeOf : function(e) {
                return e.__proto__ || Object.getPrototypeOf(e)
            })(e)
        }

        function Es(e, t) {
            return (Es = Object.setPrototypeOf || function(e, t) {
                return e.__proto__ = t, e
            })(e, t)
        }
        var Ss = function(e) {
            function t() {
                return function(e, t) {
                    if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function")
                }(this, t), ws(this, ks(t).apply(this, arguments))
            }
            var n, r, i;
            return function(e, t) {
                if ("function" !== typeof t && null !== t) throw new TypeError("Super expression must either be null or a function");
                e.prototype = Object.create(t && t.prototype, {
                    constructor: {
                        value: e,
                        writable: !0,
                        configurable: !0
                    }
                }), t && Es(e, t)
            }(t, o["Component"]), n = t, (r = [{
                key: "shouldComponentUpdate",
                value: function() {
                    return !1
                }
            }, {
                key: "render",
                value: function() {
                    return a.a.createElement("hr", {
                        className: _s.a.divider
                    })
                }
            }]) && js(n.prototype, r), i && js(n, i), t
        }();

        function xs(e) {
            return (xs = "function" === typeof Symbol && "symbol" === typeof Symbol.iterator ? function(e) {
                return typeof e
            } : function(e) {
                return e && "function" === typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e
            })(e)
        }

        function Cs() {
            return (Cs = Object.assign || function(e) {
                for (var t = 1; t < arguments.length; t++) {
                    var n = arguments[t];
                    for (var r in n) Object.prototype.hasOwnProperty.call(n, r) && (e[r] = n[r])
                }
                return e
            }).apply(this, arguments)
        }

        function Ps(e, t) {
            for (var n = 0; n < t.length; n++) {
                var r = t[n];
                r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(e, r.key, r)
            }
        }

        function Ts(e, t) {
            return !t || "object" !== xs(t) && "function" !== typeof t ? function(e) {
                if (void 0 === e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
                return e
            }(e) : t
        }

        function Rs(e) {
            return (Rs = Object.setPrototypeOf ? Object.getPrototypeOf : function(e) {
                return e.__proto__ || Object.getPrototypeOf(e)
            })(e)
        }

        function Ns(e, t) {
            return (Ns = Object.setPrototypeOf || function(e, t) {
                return e.__proto__ = t, e
            })(e, t)
        }
        var Ms = function(e) {
            function t() {
                return function(e, t) {
                    if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function")
                }(this, t), Ts(this, Rs(t).apply(this, arguments))
            }
            var n, r, i;
            return function(e, t) {
                if ("function" !== typeof t && null !== t) throw new TypeError("Super expression must either be null or a function");
                e.prototype = Object.create(t && t.prototype, {
                    constructor: {
                        value: e,
                        writable: !0,
                        configurable: !0
                    }
                }), t && Ns(e, t)
            }(t, o["Component"]), n = t, (r = [{
                key: "render",
                value: function() {
                    return a.a.createElement(us, Cs({
                        tag: $e.l,
                        noTheme: !0
                    }, this.props))
                }
            }]) && Ps(n.prototype, r), i && Ps(n, i), t
        }();
        Ms.propTypes = {
            to: He.a.oneOfType([He.a.string, He.a.object]).isRequired,
            absolute: He.a.bool
        };
        var As = Ms;

        function Is(e) {
            return (Is = "function" === typeof Symbol && "symbol" === typeof Symbol.iterator ? function(e) {
                return typeof e
            } : function(e) {
                return e && "function" === typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e
            })(e)
        }

        function Ls(e, t) {
            for (var n = 0; n < t.length; n++) {
                var r = t[n];
                r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(e, r.key, r)
            }
        }

        function Ds(e, t) {
            return !t || "object" !== Is(t) && "function" !== typeof t ? function(e) {
                if (void 0 === e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
                return e
            }(e) : t
        }

        function qs(e) {
            return (qs = Object.setPrototypeOf ? Object.getPrototypeOf : function(e) {
                return e.__proto__ || Object.getPrototypeOf(e)
            })(e)
        }

        function Fs(e, t) {
            return (Fs = Object.setPrototypeOf || function(e, t) {
                return e.__proto__ = t, e
            })(e, t)
        }
        var zs = function(e) {
            function t() {
                return function(e, t) {
                    if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function")
                }(this, t), Ds(this, qs(t).apply(this, arguments))
            }
            var n, r, i;
            return function(e, t) {
                if ("function" !== typeof t && null !== t) throw new TypeError("Super expression must either be null or a function");
                e.prototype = Object.create(t && t.prototype, {
                    constructor: {
                        value: e,
                        writable: !0,
                        configurable: !0
                    }
                }), t && Fs(e, t)
            }(t, o["PureComponent"]), n = t, (r = [{
                key: "render",
                value: function() {
                    var e = this.props,
                        t = e.getMenuTarget,
                        n = e.isOpen,
                        r = e.onHeaderClick,
                        o = e.onMenuClose;
                    return a.a.createElement(Xi, {
                        target: t(),
                        isOpen: n,
                        onMenuClose: o,
                        closeOnClick: !0
                    }, a.a.createElement(gs, {
                        text: Object(Ke.a)("Headers")
                    }), a.a.createElement(Ss, null), a.a.createElement(us, {
                        onClick: function() {
                            return r("# ")
                        }
                    }, "H1"), a.a.createElement(us, {
                        onClick: function() {
                            return r("## ")
                        }
                    }, "H2"), a.a.createElement(us, {
                        onClick: function() {
                            return r("### ")
                        }
                    }, "H3"))
                }
            }]) && Ls(n.prototype, r), i && Ls(n, i), t
        }();
        zs.propTypes = {
            onMenuClose: He.a.func.isRequired,
            isOpen: He.a.bool.isRequired,
            getMenuTarget: He.a.func.isRequired,
            onHeaderClick: He.a.func.isRequired
        };
        var Gs = zs,
            Bs = n("./app/js/components/MarkdownEditor/ToolbarGroup.css"),
            Us = n.n(Bs);

        function Hs(e) {
            return (Hs = "function" === typeof Symbol && "symbol" === typeof Symbol.iterator ? function(e) {
                return typeof e
            } : function(e) {
                return e && "function" === typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e
            })(e)
        }

        function Ws(e, t) {
            for (var n = 0; n < t.length; n++) {
                var r = t[n];
                r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(e, r.key, r)
            }
        }

        function Vs(e, t) {
            return !t || "object" !== Hs(t) && "function" !== typeof t ? function(e) {
                if (void 0 === e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
                return e
            }(e) : t
        }

        function Ks(e) {
            return (Ks = Object.setPrototypeOf ? Object.getPrototypeOf : function(e) {
                return e.__proto__ || Object.getPrototypeOf(e)
            })(e)
        }

        function $s(e, t) {
            return ($s = Object.setPrototypeOf || function(e, t) {
                return e.__proto__ = t, e
            })(e, t)
        }
        var Ys = function(e) {
            function t() {
                return function(e, t) {
                    if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function")
                }(this, t), Vs(this, Ks(t).apply(this, arguments))
            }
            var n, r, i;
            return function(e, t) {
                if ("function" !== typeof t && null !== t) throw new TypeError("Super expression must either be null or a function");
                e.prototype = Object.create(t && t.prototype, {
                    constructor: {
                        value: e,
                        writable: !0,
                        configurable: !0
                    }
                }), t && $s(e, t)
            }(t, o["Component"]), n = t, (r = [{
                key: "render",
                value: function() {
                    return a.a.createElement("div", {
                        className: Us.a.toolbarGroup
                    }, this.props.children)
                }
            }]) && Ws(n.prototype, r), i && Ws(n, i), t
        }();
        Ys.propTypes = {
            children: He.a.node.isRequired
        };
        var Js = Ys,
            Qs = n("./app/js/components/MarkdownEditor/ToolbarItem.css"),
            Xs = n.n(Qs);

        function Zs(e) {
            return (Zs = "function" === typeof Symbol && "symbol" === typeof Symbol.iterator ? function(e) {
                return typeof e
            } : function(e) {
                return e && "function" === typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e
            })(e)
        }

        function ec() {
            return (ec = Object.assign || function(e) {
                for (var t = 1; t < arguments.length; t++) {
                    var n = arguments[t];
                    for (var r in n) Object.prototype.hasOwnProperty.call(n, r) && (e[r] = n[r])
                }
                return e
            }).apply(this, arguments)
        }

        function tc(e, t) {
            if (null == e) return {};
            var n, r, o = function(e, t) {
                if (null == e) return {};
                var n, r, o = {},
                    a = Object.keys(e);
                for (r = 0; r < a.length; r++) n = a[r], t.indexOf(n) >= 0 || (o[n] = e[n]);
                return o
            }(e, t);
            if (Object.getOwnPropertySymbols) {
                var a = Object.getOwnPropertySymbols(e);
                for (r = 0; r < a.length; r++) n = a[r], t.indexOf(n) >= 0 || Object.prototype.propertyIsEnumerable.call(e, n) && (o[n] = e[n])
            }
            return o
        }

        function nc(e, t) {
            for (var n = 0; n < t.length; n++) {
                var r = t[n];
                r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(e, r.key, r)
            }
        }

        function rc(e, t) {
            return !t || "object" !== Zs(t) && "function" !== typeof t ? function(e) {
                if (void 0 === e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
                return e
            }(e) : t
        }

        function oc(e) {
            return (oc = Object.setPrototypeOf ? Object.getPrototypeOf : function(e) {
                return e.__proto__ || Object.getPrototypeOf(e)
            })(e)
        }

        function ac(e, t) {
            return (ac = Object.setPrototypeOf || function(e, t) {
                return e.__proto__ = t, e
            })(e, t)
        }
        var ic = function(e) {
            function t() {
                return function(e, t) {
                    if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function")
                }(this, t), rc(this, oc(t).apply(this, arguments))
            }
            var n, r, i;
            return function(e, t) {
                if ("function" !== typeof t && null !== t) throw new TypeError("Super expression must either be null or a function");
                e.prototype = Object.create(t && t.prototype, {
                    constructor: {
                        value: e,
                        writable: !0,
                        configurable: !0
                    }
                }), t && ac(e, t)
            }(t, o["Component"]), n = t, (r = [{
                key: "render",
                value: function() {
                    var e = this.props,
                        t = e.tooltip,
                        n = e.lastGroup,
                        r = e.icon,
                        o = e.isMenu,
                        i = tc(e, ["tooltip", "lastGroup", "icon", "isMenu"]);
                    return a.a.createElement($e.v, ec({
                        text: t,
                        direction: n ? Ot.b.NW : Ot.b.N,
                        className: Xs.a.item
                    }, i), a.a.createElement($e.i, {
                        className: Xs.a.icon,
                        icon: r
                    }), o && a.a.createElement($e.i, {
                        icon: "down-dir",
                        className: Xs.a.menuIcon
                    }))
                }
            }]) && nc(n.prototype, r), i && nc(n, i), t
        }();
        ic.propTypes = {
            tooltip: He.a.string.isRequired,
            icon: He.a.string.isRequired,
            onClick: He.a.func.isRequired,
            lastGroup: He.a.bool,
            isMenu: He.a.bool
        };
        var sc, cc, uc, lc = ic,
            pc = n("./app/js/components/MarkdownEditor/Toolbar.css"),
            fc = n.n(pc);

        function yc(e) {
            return (yc = "function" === typeof Symbol && "symbol" === typeof Symbol.iterator ? function(e) {
                return typeof e
            } : function(e) {
                return e && "function" === typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e
            })(e)
        }

        function bc(e, t) {
            for (var n = 0; n < t.length; n++) {
                var r = t[n];
                r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(e, r.key, r)
            }
        }

        function hc(e, t) {
            return !t || "object" !== yc(t) && "function" !== typeof t ? function(e) {
                if (void 0 === e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
                return e
            }(e) : t
        }

        function dc(e) {
            return (dc = Object.setPrototypeOf ? Object.getPrototypeOf : function(e) {
                return e.__proto__ || Object.getPrototypeOf(e)
            })(e)
        }

        function mc(e, t) {
            return (mc = Object.setPrototypeOf || function(e, t) {
                return e.__proto__ = t, e
            })(e, t)
        }

        function gc(e, t, n, r, o) {
            var a = {};
            return Object.keys(r).forEach(function(e) {
                a[e] = r[e]
            }), a.enumerable = !!a.enumerable, a.configurable = !!a.configurable, ("value" in a || a.initializer) && (a.writable = !0), a = n.slice().reverse().reduce(function(n, r) {
                return r(e, t, n) || n
            }, a), o && void 0 !== a.initializer && (a.value = a.initializer ? a.initializer.call(o) : void 0, a.initializer = void 0), void 0 === a.initializer && (Object.defineProperty(e, t, a), a = null), a
        }
        var vc, _c, Oc, jc = (uc = cc = function(e) {
                function t() {
                    var e, n;
                    ! function(e, t) {
                        if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function")
                    }(this, t);
                    for (var r = arguments.length, o = new Array(r), a = 0; a < r; a++) o[a] = arguments[a];
                    return (n = hc(this, (e = dc(t)).call.apply(e, [this].concat(o)))).state = {
                        showHeaderMenu: !1
                    }, n
                }
                var n, r, i;
                return function(e, t) {
                    if ("function" !== typeof t && null !== t) throw new TypeError("Super expression must either be null or a function");
                    e.prototype = Object.create(t && t.prototype, {
                        constructor: {
                            value: e,
                            writable: !0,
                            configurable: !0
                        }
                    }), t && mc(e, t)
                }(t, o["PureComponent"]), n = t, (r = [{
                    key: "mutateText",
                    value: function() {
                        var e = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : "",
                            t = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : "",
                            n = this.props,
                            r = n.getStart,
                            o = n.getEnd,
                            a = e + this.getSelectedText() + t;
                        this.props.onTextChange(this.addNewText(a), r() + e.length, o() + e.length)
                    }
                }, {
                    key: "mutateMultiline",
                    value: function(e) {
                        var t = this.props,
                            n = t.getStart,
                            r = t.getEnd,
                            o = this.getSelectedText(),
                            a = o.split("\n").map(e).join("\n");
                        this.props.onTextChange(this.addNewText(a), n(), r() + a.length - o.length)
                    }
                }, {
                    key: "addNewText",
                    value: function(e) {
                        var t = this.props,
                            n = t.value,
                            r = t.getStart,
                            o = t.getEnd;
                        return n.substring(0, r()) + e + n.substring(o())
                    }
                }, {
                    key: "getSelectedText",
                    value: function() {
                        var e = this.props,
                            t = e.value,
                            n = e.getStart,
                            r = e.getEnd;
                        return t.substring(n(), r())
                    }
                }, {
                    key: "getHeaderMenuTarget",
                    value: function() {
                        return this.refs.headerMenu
                    }
                }, {
                    key: "onHeaderMenuClick",
                    value: function() {
                        this.setState({
                            showHeaderMenu: !0
                        })
                    }
                }, {
                    key: "onHeaderMenuClose",
                    value: function() {
                        this.setState({
                            showHeaderMenu: !1
                        })
                    }
                }, {
                    key: "onHeaderClick",
                    value: function(e) {
                        this.mutateText(e)
                    }
                }, {
                    key: "onBoldClick",
                    value: function() {
                        this.mutateText("**", "**")
                    }
                }, {
                    key: "onItalicClick",
                    value: function() {
                        this.mutateText("_", "_")
                    }
                }, {
                    key: "onQuoteClick",
                    value: function() {
                        this.mutateMultiline(function(e) {
                            return "> " + e
                        })
                    }
                }, {
                    key: "onCodeClick",
                    value: function() {
                        -1 !== this.getSelectedText().indexOf("\n") ? this.mutateMultiline(function(e) {
                            return " ".repeat(4) + e
                        }) : this.mutateText("`", "`")
                    }
                }, {
                    key: "onLinkClick",
                    value: function() {
                        var e = this.getSelectedText(),
                            t = "[" + e + "](url)",
                            n = this.props.getStart() + e.length + 3,
                            r = n + 3;
                        this.props.onTextChange(this.addNewText(t), n, r)
                    }
                }, {
                    key: "onULClick",
                    value: function() {
                        this.mutateMultiline(function(e) {
                            return "- " + e
                        })
                    }
                }, {
                    key: "onOLClick",
                    value: function() {
                        this.mutateMultiline(function(e, t) {
                            return t + 1 + ". " + e
                        })
                    }
                }, {
                    key: "render",
                    value: function() {
                        return a.a.createElement("div", {
                            className: Je()(fc.a.toolbar, this.props.className)
                        }, a.a.createElement(Js, null, a.a.createElement(lc, {
                            icon: "header",
                            tooltip: Object(Ke.a)("Add header"),
                            onClick: this.onHeaderMenuClick,
                            isMenu: !0,
                            ref: "headerMenu"
                        }), a.a.createElement(lc, {
                            icon: "bold",
                            tooltip: Object(Ke.a)("Add bold text"),
                            onClick: this.onBoldClick
                        }), a.a.createElement(lc, {
                            icon: "italic",
                            tooltip: Object(Ke.a)("Add italic text"),
                            onClick: this.onItalicClick
                        })), a.a.createElement(Js, null, a.a.createElement(lc, {
                            icon: "quote-left",
                            tooltip: Object(Ke.a)("Insert quote"),
                            onClick: this.onQuoteClick
                        }), a.a.createElement(lc, {
                            icon: "code",
                            tooltip: Object(Ke.a)("Insert code snippet"),
                            onClick: this.onCodeClick
                        }), a.a.createElement(lc, {
                            icon: "link",
                            tooltip: Object(Ke.a)("Insert link"),
                            onClick: this.onLinkClick
                        })), a.a.createElement(Js, null, a.a.createElement(lc, {
                            icon: "list-bullet",
                            tooltip: Object(Ke.a)("Add bulleted list"),
                            onClick: this.onULClick,
                            lastGroup: !0
                        }), a.a.createElement(lc, {
                            icon: "list-numbered",
                            tooltip: Object(Ke.a)("Add numbered list"),
                            onClick: this.onOLClick,
                            lastGroup: !0
                        })), a.a.createElement(Gs, {
                            isOpen: this.state.showHeaderMenu,
                            onMenuClose: this.onHeaderMenuClose,
                            onHeaderClick: this.onHeaderClick,
                            getMenuTarget: this.getHeaderMenuTarget
                        }))
                    }
                }]) && bc(n.prototype, r), i && bc(n, i), t
            }(), cc.propTypes = {
                onTextChange: He.a.func.isRequired,
                className: He.a.string,
                getStart: He.a.func.isRequired,
                getEnd: He.a.func.isRequired,
                value: He.a.string.isRequired
            }, gc((sc = uc).prototype, "mutateText", [vt.a], Object.getOwnPropertyDescriptor(sc.prototype, "mutateText"), sc.prototype), gc(sc.prototype, "mutateMultiline", [vt.a], Object.getOwnPropertyDescriptor(sc.prototype, "mutateMultiline"), sc.prototype), gc(sc.prototype, "addNewText", [vt.a], Object.getOwnPropertyDescriptor(sc.prototype, "addNewText"), sc.prototype), gc(sc.prototype, "getSelectedText", [vt.a], Object.getOwnPropertyDescriptor(sc.prototype, "getSelectedText"), sc.prototype), gc(sc.prototype, "getHeaderMenuTarget", [vt.a], Object.getOwnPropertyDescriptor(sc.prototype, "getHeaderMenuTarget"), sc.prototype), gc(sc.prototype, "onHeaderMenuClick", [vt.a], Object.getOwnPropertyDescriptor(sc.prototype, "onHeaderMenuClick"), sc.prototype), gc(sc.prototype, "onHeaderMenuClose", [vt.a], Object.getOwnPropertyDescriptor(sc.prototype, "onHeaderMenuClose"), sc.prototype), gc(sc.prototype, "onHeaderClick", [vt.a], Object.getOwnPropertyDescriptor(sc.prototype, "onHeaderClick"), sc.prototype), gc(sc.prototype, "onBoldClick", [vt.a], Object.getOwnPropertyDescriptor(sc.prototype, "onBoldClick"), sc.prototype), gc(sc.prototype, "onItalicClick", [vt.a], Object.getOwnPropertyDescriptor(sc.prototype, "onItalicClick"), sc.prototype), gc(sc.prototype, "onQuoteClick", [vt.a], Object.getOwnPropertyDescriptor(sc.prototype, "onQuoteClick"), sc.prototype), gc(sc.prototype, "onCodeClick", [vt.a], Object.getOwnPropertyDescriptor(sc.prototype, "onCodeClick"), sc.prototype), gc(sc.prototype, "onLinkClick", [vt.a], Object.getOwnPropertyDescriptor(sc.prototype, "onLinkClick"), sc.prototype), gc(sc.prototype, "onULClick", [vt.a], Object.getOwnPropertyDescriptor(sc.prototype, "onULClick"), sc.prototype), gc(sc.prototype, "onOLClick", [vt.a], Object.getOwnPropertyDescriptor(sc.prototype, "onOLClick"), sc.prototype), sc),
            wc = n("./app/js/components/MarkdownEditor/MarkdownEditor.css"),
            kc = n.n(wc);

        function Ec(e) {
            return (Ec = "function" === typeof Symbol && "symbol" === typeof Symbol.iterator ? function(e) {
                return typeof e
            } : function(e) {
                return e && "function" === typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e
            })(e)
        }

        function Sc() {
            return (Sc = Object.assign || function(e) {
                for (var t = 1; t < arguments.length; t++) {
                    var n = arguments[t];
                    for (var r in n) Object.prototype.hasOwnProperty.call(n, r) && (e[r] = n[r])
                }
                return e
            }).apply(this, arguments)
        }

        function xc(e, t) {
            for (var n = 0; n < t.length; n++) {
                var r = t[n];
                r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(e, r.key, r)
            }
        }

        function Cc(e, t) {
            return !t || "object" !== Ec(t) && "function" !== typeof t ? function(e) {
                if (void 0 === e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
                return e
            }(e) : t
        }

        function Pc(e) {
            return (Pc = Object.setPrototypeOf ? Object.getPrototypeOf : function(e) {
                return e.__proto__ || Object.getPrototypeOf(e)
            })(e)
        }

        function Tc(e, t) {
            return (Tc = Object.setPrototypeOf || function(e, t) {
                return e.__proto__ = t, e
            })(e, t)
        }

        function Rc(e, t, n, r, o) {
            var a = {};
            return Object.keys(r).forEach(function(e) {
                a[e] = r[e]
            }), a.enumerable = !!a.enumerable, a.configurable = !!a.configurable, ("value" in a || a.initializer) && (a.writable = !0), a = n.slice().reverse().reduce(function(n, r) {
                return r(e, t, n) || n
            }, a), o && void 0 !== a.initializer && (a.value = a.initializer ? a.initializer.call(o) : void 0, a.initializer = void 0), void 0 === a.initializer && (Object.defineProperty(e, t, a), a = null), a
        }
        var Nc = (Oc = _c = function(e) {
                function t() {
                    var e, n;
                    ! function(e, t) {
                        if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function")
                    }(this, t);
                    for (var r = arguments.length, o = new Array(r), a = 0; a < r; a++) o[a] = arguments[a];
                    return (n = Cc(this, (e = Pc(t)).call.apply(e, [this].concat(o)))).state = {
                        text: n.props.defaultValue || n.props.value || ""
                    }, n
                }
                var n, r, i;
                return function(e, t) {
                    if ("function" !== typeof t && null !== t) throw new TypeError("Super expression must either be null or a function");
                    e.prototype = Object.create(t && t.prototype, {
                        constructor: {
                            value: e,
                            writable: !0,
                            configurable: !0
                        }
                    }), t && Tc(e, t)
                }(t, o["PureComponent"]), n = t, (r = [{
                    key: "getStartPos",
                    value: function() {
                        return this.refs.textInput ? this.refs.textInput.getStart() : 0
                    }
                }, {
                    key: "getEndPos",
                    value: function() {
                        return this.refs.textInput ? this.refs.textInput.getEnd() : 0
                    }
                }, {
                    key: "onChange",
                    value: function(e) {
                        this.setState({
                            text: e
                        }), this.props.onChange && this.props.onChange(e)
                    }
                }, {
                    key: "onToolbarClick",
                    value: function(e, t, n) {
                        (this.props.onChange && this.props.onChange(e), this.refs.textInput) && (document.createEvent("TextEvent").initTextEvent("textInput", !0, !0, null, e), this.refs.textInput._select(0, this.state.text.length), document.execCommand("insertText", !1, e), this.refs.textInput._select(t, n))
                    }
                }, {
                    key: "render",
                    value: function() {
                        var e = this,
                            t = [Object(Ke.a)("Write"), Object(Ke.a)("Preview")];
                        return a.a.createElement(xo, {
                            className: Je()(kc.a.root, this.props.className),
                            tabs: t,
                            renderToolbar: function(t) {
                                return 0 !== t ? null : a.a.createElement(jc, {
                                    className: kc.a.tools,
                                    onTextChange: e.onToolbarClick,
                                    getStart: e.getStartPos,
                                    getEnd: e.getEndPos,
                                    value: e.state.text
                                })
                            }
                        }, a.a.createElement(bo, null, this.renderEditorArea()), a.a.createElement(bo, null, this.renderEditorArea(!0)))
                    }
                }, {
                    key: "renderEditorArea",
                    value: function() {
                        var e = arguments.length > 0 && void 0 !== arguments[0] && arguments[0],
                            t = N.a.omit(this.props, ["containerClassName", "value", "defaultValue"]);
                        return a.a.createElement("div", null, a.a.createElement("div", {
                            className: kc.a.editorWrapper
                        }, a.a.createElement($e.u, Sc({}, t, {
                            onChange: this.onChange,
                            className: kc.a.editor,
                            value: this.state.text,
                            ref: "textInput",
                            multiline: !0,
                            disabled: e
                        })), e && a.a.createElement(Si, {
                            className: kc.a.previewWindow,
                            source: this.state.text || Object(Ke.a)("Nothing to preview")
                        })), a.a.createElement($e.l, {
                            to: "http://whatismarkdown.com/",
                            absolute: !0,
                            target: "_blank"
                        }, a.a.createElement($e.o, {
                            className: kc.a.markdownLink
                        }, Object(Ke.a)("Styling with Markdown is supported"))))
                    }
                }]) && xc(n.prototype, r), i && xc(n, i), t
            }(), _c.propTypes = {
                className: He.a.string,
                onChange: He.a.func,
                value: He.a.string,
                defaultValue: He.a.string
            }, Rc((vc = Oc).prototype, "getStartPos", [vt.a], Object.getOwnPropertyDescriptor(vc.prototype, "getStartPos"), vc.prototype), Rc(vc.prototype, "getEndPos", [vt.a], Object.getOwnPropertyDescriptor(vc.prototype, "getEndPos"), vc.prototype), Rc(vc.prototype, "onChange", [vt.a], Object.getOwnPropertyDescriptor(vc.prototype, "onChange"), vc.prototype), Rc(vc.prototype, "onToolbarClick", [vt.a], Object.getOwnPropertyDescriptor(vc.prototype, "onToolbarClick"), vc.prototype), Rc(vc.prototype, "renderEditorArea", [vt.a], Object.getOwnPropertyDescriptor(vc.prototype, "renderEditorArea"), vc.prototype), vc),
            Mc = n("./app/js/components/Modal/SubmitToLibraryModal/InputGroup.css"),
            Ac = n.n(Mc);

        function Ic(e) {
            return (Ic = "function" === typeof Symbol && "symbol" === typeof Symbol.iterator ? function(e) {
                return typeof e
            } : function(e) {
                return e && "function" === typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e
            })(e)
        }

        function Lc(e, t) {
            for (var n = 0; n < t.length; n++) {
                var r = t[n];
                r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(e, r.key, r)
            }
        }

        function Dc(e, t) {
            return !t || "object" !== Ic(t) && "function" !== typeof t ? function(e) {
                if (void 0 === e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
                return e
            }(e) : t
        }

        function qc(e) {
            return (qc = Object.setPrototypeOf ? Object.getPrototypeOf : function(e) {
                return e.__proto__ || Object.getPrototypeOf(e)
            })(e)
        }

        function Fc(e, t) {
            return (Fc = Object.setPrototypeOf || function(e, t) {
                return e.__proto__ = t, e
            })(e, t)
        }
        var zc = function(e) {
            function t() {
                return function(e, t) {
                    if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function")
                }(this, t), Dc(this, qc(t).apply(this, arguments))
            }
            var n, r, i;
            return function(e, t) {
                if ("function" !== typeof t && null !== t) throw new TypeError("Super expression must either be null or a function");
                e.prototype = Object.create(t && t.prototype, {
                    constructor: {
                        value: e,
                        writable: !0,
                        configurable: !0
                    }
                }), t && Fc(e, t)
            }(t, o["PureComponent"]), n = t, (r = [{
                key: "render",
                value: function() {
                    var e = this.props,
                        t = e.title,
                        n = e.children;
                    return a.a.createElement("div", {
                        className: Ac.a.inputGroup
                    }, a.a.createElement($e.k, {
                        text: t
                    }), n)
                }
            }]) && Lc(n.prototype, r), i && Lc(n, i), t
        }();
        zc.propTypes = {
            title: He.a.string.isRequired,
            children: He.a.node.isRequired
        };
        var Gc, Bc, Uc, Hc, Wc = zc,
            Vc = n("./app/js/components/Modal/SubmitToLibraryModal/SubmitToLibraryModal.css"),
            Kc = n.n(Vc);

        function $c(e) {
            return ($c = "function" === typeof Symbol && "symbol" === typeof Symbol.iterator ? function(e) {
                return typeof e
            } : function(e) {
                return e && "function" === typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e
            })(e)
        }

        function Yc(e, t) {
            for (var n = 0; n < t.length; n++) {
                var r = t[n];
                r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(e, r.key, r)
            }
        }

        function Jc(e, t) {
            return !t || "object" !== $c(t) && "function" !== typeof t ? function(e) {
                if (void 0 === e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
                return e
            }(e) : t
        }

        function Qc(e) {
            return (Qc = Object.setPrototypeOf ? Object.getPrototypeOf : function(e) {
                return e.__proto__ || Object.getPrototypeOf(e)
            })(e)
        }

        function Xc(e, t) {
            return (Xc = Object.setPrototypeOf || function(e, t) {
                return e.__proto__ = t, e
            })(e, t)
        }

        function Zc(e, t, n, r, o) {
            var a = {};
            return Object.keys(r).forEach(function(e) {
                a[e] = r[e]
            }), a.enumerable = !!a.enumerable, a.configurable = !!a.configurable, ("value" in a || a.initializer) && (a.writable = !0), a = n.slice().reverse().reduce(function(n, r) {
                return r(e, t, n) || n
            }, a), o && void 0 !== a.initializer && (a.value = a.initializer ? a.initializer.call(o) : void 0, a.initializer = void 0), void 0 === a.initializer && (Object.defineProperty(e, t, a), a = null), a
        }
        var eu = Object(We.b)(function(e) {
                return {
                    isLibraryEntry: e.general.isLibraryEntry,
                    description: e.libraryEntry.description,
                    title: e.libraryEntry.title,
                    author: e.libraryEntry.author
                }
            })((Hc = Uc = function(e) {
                function t() {
                    var e, n;
                    ! function(e, t) {
                        if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function")
                    }(this, t);
                    for (var r = arguments.length, o = new Array(r), a = 0; a < r; a++) o[a] = arguments[a];
                    return (n = Jc(this, (e = Qc(t)).call.apply(e, [this].concat(o)))).state = {
                        title: "",
                        author: "",
                        description: "",
                        error: !1,
                        permalinkFragment: null,
                        loading: !1,
                        done: !1
                    }, n
                }
                var n, r, i;
                return function(e, t) {
                    if ("function" !== typeof t && null !== t) throw new TypeError("Super expression must either be null or a function");
                    e.prototype = Object.create(t && t.prototype, {
                        constructor: {
                            value: e,
                            writable: !0,
                            configurable: !0
                        }
                    }), t && Xc(e, t)
                }(t, o["PureComponent"]), n = t, (r = [{
                    key: "componentWillReceiveProps",
                    value: function(e) {
                        !this.props.isOpen && e.isOpen && this.setState({
                            permalinkFragment: null,
                            error: !1,
                            loading: !1,
                            title: e.title || "",
                            author: e.author || "",
                            description: e.description || "",
                            done: !1
                        })
                    }
                }, {
                    key: "onTitleInput",
                    value: function(e) {
                        this.setState({
                            title: e
                        })
                    }
                }, {
                    key: "onDescriptionInput",
                    value: function(e) {
                        this.setState({
                            description: e
                        })
                    }
                }, {
                    key: "onAuthorInput",
                    value: function(e) {
                        this.setState({
                            author: e
                        })
                    }
                }, {
                    key: "onSubmitClick",
                    value: function() {
                        var e = this,
                            t = this.props,
                            n = t.location,
                            r = t.replace,
                            o = t.isLibraryEntry,
                            a = t.dispatch,
                            i = this.state,
                            s = i.author,
                            c = i.description,
                            u = i.title;
                        this.setState({
                            loading: !0
                        }), a(o ? Object(ne.db)(r, n, u, c, s) : Object(ne.ab)(u, c, s)).then(function(t) {
                            e.setState({
                                permalinkFragment: t,
                                loading: !1,
                                title: "",
                                author: "",
                                description: "",
                                error: !1,
                                done: !0
                            })
                        }).catch(function() {
                            e.setState({
                                error: !0,
                                loading: !1,
                                done: !0
                            })
                        })
                    }
                }, {
                    key: "render",
                    value: function() {
                        var e = this.props,
                            t = e.onModalClose,
                            n = e.isOpen,
                            r = e.isLibraryEntry,
                            o = this.state,
                            i = o.error,
                            s = o.done;
                        return a.a.createElement(qo, {
                            onModalClose: t,
                            isOpen: n
                        }, a.a.createElement(Ho, {
                            titleIcon: "upload"
                        }, r ? Object(Ke.a)("Update Library Entry") : Object(Ke.a)("Submit to Regex Library")), a.a.createElement(Jo, null, this._renderBody()), a.a.createElement(aa, null, !i && !s && a.a.createElement($e.a, {
                            text: r ? Object(Ke.a)("Update") : Object(Ke.a)("Submit"),
                            disabled: this.state.title.length < 1,
                            onClick: this.onSubmitClick
                        }), a.a.createElement($e.a, {
                            text: i || s ? Object(Ke.a)("Close") : Object(Ke.a)("Cancel"),
                            onClick: t,
                            type: Ot.e.CANCEL,
                            className: Kc.a.cancelButton
                        })))
                    }
                }, {
                    key: "_renderBody",
                    value: function() {
                        var e = this.state,
                            t = e.error,
                            n = e.permalinkFragment,
                            r = e.done,
                            o = e.loading;
                        return t ? this._getErrorMessage() : o ? this._getLoadingScreen() : r ? n ? this._getSuccessMessage() : this._getSuccessUpdateMessage() : this._getInputComponents()
                    }
                }, {
                    key: "_getInputComponents",
                    value: function() {
                        var e = this.state,
                            t = e.title,
                            n = e.author,
                            r = e.description;
                        return a.a.createElement("div", null, a.a.createElement(Wc, {
                            title: Object(Ke.a)("Title") + " *"
                        }, a.a.createElement($e.u, {
                            maxlength: 150,
                            onChange: this.onTitleInput,
                            defaultValue: t,
                            placeholder: Object(Ke.a)("Title of regular expression")
                        })), a.a.createElement(Wc, {
                            title: Object(Ke.a)("Description")
                        }, a.a.createElement(Nc, {
                            maxlength: 5e3,
                            onChange: this.onDescriptionInput,
                            placeholder: Object(Ke.a)("Description of regular expression"),
                            className: Kc.a.description,
                            defaultValue: r
                        })), a.a.createElement(Wc, {
                            title: Object(Ke.a)("Author")
                        }, a.a.createElement($e.u, {
                            maxlength: 150,
                            onChange: this.onAuthorInput,
                            defaultValue: n,
                            placeholder: Object(Ke.a)("Name or other identifier of the author")
                        })))
                    }
                }, {
                    key: "_getErrorMessage",
                    value: function() {
                        return a.a.createElement($e.o, {
                            className: Kc.a.center,
                            type: Ot.c.ERROR
                        }, Object(Ke.a)("There was a problem while trying to submit your regex to the library. Please try again later."))
                    }
                }, {
                    key: "_getSuccessMessage",
                    value: function() {
                        return a.a.createElement("div", {
                            className: Je()(Kc.a.center, Kc.a.successContainer)
                        }, a.a.createElement("p", {
                            className: Kc.a.success
                        }, Object(Ke.a)("Your entry has successfully been submitted to the library")), a.a.createElement("p", null, Object(Ke.a)("Your workspace has been forked into a separate entry that only you can modify, which you can find here"), " ", a.a.createElement($e.l, {
                            to: Object(sn.a)(this.state.permalinkFragment),
                            absolute: !0
                        }, Object(sn.a)(this.state.permalinkFragment))), a.a.createElement("p", null, Object(Ke.a)("You will find a link to your library entry here:"), " ", a.a.createElement($e.l, {
                            to: "/library/" + this.state.permalinkFragment,
                            absolute: !0
                        }, "/library/" + this.state.permalinkFragment)), a.a.createElement("p", null, Object(Ke.a)("There is no need to save these urls as they are stored on your account and can be found on the account page. You may at any time delete or modify your library entry from there.")))
                    }
                }, {
                    key: "_getSuccessUpdateMessage",
                    value: function() {
                        return a.a.createElement("div", null, "yay")
                    }
                }, {
                    key: "_getLoadingScreen",
                    value: function() {
                        return a.a.createElement("div", {
                            className: Kc.a.center
                        }, a.a.createElement("div", {
                            className: Kc.a.loading
                        }, Object(Ke.a)("Submitting entry, please wait.")), a.a.createElement($e.r, null))
                    }
                }]) && Yc(n.prototype, r), i && Yc(n, i), t
            }(), Uc.propTypes = {
                onModalClose: He.a.func.isRequired,
                isOpen: He.a.bool.isRequired,
                dispatch: He.a.func.isRequired,
                isLibraryEntry: He.a.bool.isRequired,
                description: He.a.string,
                author: He.a.string,
                title: He.a.string,
                replace: He.a.func.isRequired,
                location: He.a.object.isRequired
            }, Zc((Bc = Hc).prototype, "onTitleInput", [vt.a], Object.getOwnPropertyDescriptor(Bc.prototype, "onTitleInput"), Bc.prototype), Zc(Bc.prototype, "onDescriptionInput", [vt.a], Object.getOwnPropertyDescriptor(Bc.prototype, "onDescriptionInput"), Bc.prototype), Zc(Bc.prototype, "onAuthorInput", [vt.a], Object.getOwnPropertyDescriptor(Bc.prototype, "onAuthorInput"), Bc.prototype), Zc(Bc.prototype, "onSubmitClick", [vt.a], Object.getOwnPropertyDescriptor(Bc.prototype, "onSubmitClick"), Bc.prototype), Zc(Bc.prototype, "_getInputComponents", [vt.a], Object.getOwnPropertyDescriptor(Bc.prototype, "_getInputComponents"), Bc.prototype), Zc(Bc.prototype, "_getSuccessMessage", [vt.a], Object.getOwnPropertyDescriptor(Bc.prototype, "_getSuccessMessage"), Bc.prototype), Gc = Bc)) || Gc,
            tu = n("./app/js/components/Modal/ConfirmationModal/ConfirmationModal.css"),
            nu = n.n(tu);

        function ru(e) {
            return (ru = "function" === typeof Symbol && "symbol" === typeof Symbol.iterator ? function(e) {
                return typeof e
            } : function(e) {
                return e && "function" === typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e
            })(e)
        }

        function ou(e, t) {
            for (var n = 0; n < t.length; n++) {
                var r = t[n];
                r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(e, r.key, r)
            }
        }

        function au(e, t) {
            return !t || "object" !== ru(t) && "function" !== typeof t ? function(e) {
                if (void 0 === e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
                return e
            }(e) : t
        }

        function iu(e) {
            return (iu = Object.setPrototypeOf ? Object.getPrototypeOf : function(e) {
                return e.__proto__ || Object.getPrototypeOf(e)
            })(e)
        }

        function su(e, t) {
            return (su = Object.setPrototypeOf || function(e, t) {
                return e.__proto__ = t, e
            })(e, t)
        }
        var cu = function(e) {
            function t() {
                return function(e, t) {
                    if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function")
                }(this, t), au(this, iu(t).apply(this, arguments))
            }
            var n, r, i;
            return function(e, t) {
                if ("function" !== typeof t && null !== t) throw new TypeError("Super expression must either be null or a function");
                e.prototype = Object.create(t && t.prototype, {
                    constructor: {
                        value: e,
                        writable: !0,
                        configurable: !0
                    }
                }), t && su(e, t)
            }(t, o["Component"]), n = t, (r = [{
                key: "render",
                value: function() {
                    var e = this.props,
                        t = e.title,
                        n = e.children,
                        r = e.onModalClose,
                        o = e.isOpen,
                        i = e.onConfirmClick,
                        s = e.confirmText,
                        c = e.isDanger;
                    return a.a.createElement(qo, {
                        onModalClose: r,
                        isOpen: o,
                        className: nu.a.modal
                    }, a.a.createElement(Ho, {
                        titleIcon: "help-circled"
                    }, t), a.a.createElement(Jo, {
                        className: nu.a.messageBody
                    }, n), a.a.createElement(aa, null, a.a.createElement($e.a, {
                        text: s,
                        onClick: i,
                        style: {
                            marginRight: 10
                        },
                        type: c ? Ot.e.DANGER : Ot.e.OK
                    }), a.a.createElement($e.a, {
                        text: Object(Ke.a)("Close"),
                        onClick: r,
                        type: Ot.e.CANCEL
                    })))
                }
            }]) && ou(n.prototype, r), i && ou(n, i), t
        }();
        cu.propTypes = {
            onModalClose: He.a.func.isRequired,
            isOpen: He.a.bool.isRequired,
            children: He.a.node.isRequired,
            title: He.a.string.isRequired,
            onConfirmClick: He.a.func.isRequired,
            confirmText: He.a.string,
            isDanger: He.a.bool
        }, cu.defaultProps = {
            confirmText: Object(Ke.a)("Ok")
        };
        var uu = cu;

        function lu(e) {
            return (lu = "function" === typeof Symbol && "symbol" === typeof Symbol.iterator ? function(e) {
                return typeof e
            } : function(e) {
                return e && "function" === typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e
            })(e)
        }

        function pu() {
            return (pu = Object.assign || function(e) {
                for (var t = 1; t < arguments.length; t++) {
                    var n = arguments[t];
                    for (var r in n) Object.prototype.hasOwnProperty.call(n, r) && (e[r] = n[r])
                }
                return e
            }).apply(this, arguments)
        }

        function fu(e, t) {
            for (var n = 0; n < t.length; n++) {
                var r = t[n];
                r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(e, r.key, r)
            }
        }

        function yu(e, t) {
            return !t || "object" !== lu(t) && "function" !== typeof t ? function(e) {
                if (void 0 === e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
                return e
            }(e) : t
        }

        function bu(e) {
            return (bu = Object.setPrototypeOf ? Object.getPrototypeOf : function(e) {
                return e.__proto__ || Object.getPrototypeOf(e)
            })(e)
        }

        function hu(e, t) {
            return (hu = Object.setPrototypeOf || function(e, t) {
                return e.__proto__ = t, e
            })(e, t)
        }
        var du, mu, gu, vu, _u = function(e) {
                function t() {
                    return function(e, t) {
                        if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function")
                    }(this, t), yu(this, bu(t).apply(this, arguments))
                }
                var n, r, i;
                return function(e, t) {
                    if ("function" !== typeof t && null !== t) throw new TypeError("Super expression must either be null or a function");
                    e.prototype = Object.create(t && t.prototype, {
                        constructor: {
                            value: e,
                            writable: !0,
                            configurable: !0
                        }
                    }), t && hu(e, t)
                }(t, o["PureComponent"]), n = t, (r = [{
                    key: "render",
                    value: function() {
                        return a.a.createElement(uu, pu({
                            title: Object(Ke.a)("Are you sure you want to delete this regex?"),
                            confirmText: Object(Ke.a)("Yes, delete"),
                            isDanger: !0
                        }, this.props), a.a.createElement("div", null, Object(Ke.a)("Are you sure you want to delete this regex? This action is non-reversible and will delete all versions of this regex.")))
                    }
                }]) && fu(n.prototype, r), i && fu(n, i), t
            }(),
            Ou = n("./app/js/components/LeftSidebar/SidebarContents/RegexSidebar.css"),
            ju = n.n(Ou);

        function wu(e) {
            return (wu = "function" === typeof Symbol && "symbol" === typeof Symbol.iterator ? function(e) {
                return typeof e
            } : function(e) {
                return e && "function" === typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e
            })(e)
        }

        function ku(e, t) {
            for (var n = 0; n < t.length; n++) {
                var r = t[n];
                r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(e, r.key, r)
            }
        }

        function Eu(e, t) {
            return !t || "object" !== wu(t) && "function" !== typeof t ? function(e) {
                if (void 0 === e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
                return e
            }(e) : t
        }

        function Su(e) {
            return (Su = Object.setPrototypeOf ? Object.getPrototypeOf : function(e) {
                return e.__proto__ || Object.getPrototypeOf(e)
            })(e)
        }

        function xu(e, t) {
            return (xu = Object.setPrototypeOf || function(e, t) {
                return e.__proto__ = t, e
            })(e, t)
        }

        function Cu(e, t, n, r, o) {
            var a = {};
            return Object.keys(r).forEach(function(e) {
                a[e] = r[e]
            }), a.enumerable = !!a.enumerable, a.configurable = !!a.configurable, ("value" in a || a.initializer) && (a.writable = !0), a = n.slice().reverse().reduce(function(n, r) {
                return r(e, t, n) || n
            }, a), o && void 0 !== a.initializer && (a.value = a.initializer ? a.initializer.call(o) : void 0, a.initializer = void 0), void 0 === a.initializer && (Object.defineProperty(e, t, a), a = null), a
        }
        var Pu = Object(We.b)(function(e) {
            return {
                flavor: e.regexEditor.flavor,
                flags: e.regexEditor.flags,
                regex: e.regexEditor.regex,
                error: e.regexEditor.error,
                hasUnsavedData: e.regexEditor.hasUnsavedData,
                permalinkFragment: e.general.permalinkFragment,
                version: e.general.version,
                userId: e.general.userId,
                isFavorite: e.general.isFavorite,
                isLibraryEntry: e.general.isLibraryEntry,
                deleteCode: e.general.deleteCode,
                showMatchArea: e.regexEditor.showMatchArea,
                showSubstitutionArea: e.regexEditor.showSubstitutionArea,
                showUnitTestArea: e.regexEditor.showUnitTestArea,
                unitTestCount: e.unitTests.tests.length
            }
        })((vu = gu = function(e) {
            function t() {
                var e, n;
                ! function(e, t) {
                    if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function")
                }(this, t);
                for (var r = arguments.length, o = new Array(r), a = 0; a < r; a++) o[a] = arguments[a];
                return (n = Eu(this, (e = Su(t)).call.apply(e, [this].concat(o)))).state = {
                    showSaveModal: !1,
                    isForking: !1,
                    showLibraryModal: !1,
                    showConfirmDeleteModal: !1
                }, n
            }
            var n, r, i;
            return function(e, t) {
                if ("function" !== typeof t && null !== t) throw new TypeError("Super expression must either be null or a function");
                e.prototype = Object.create(t && t.prototype, {
                    constructor: {
                        value: e,
                        writable: !0,
                        configurable: !0
                    }
                }), t && xu(e, t)
            }(t, o["PureComponent"]), n = t, (r = [{
                key: "componentWillMount",
                value: function() {
                    _t.a.on("key:saveRegex", this.onSaveRegexClick)
                }
            }, {
                key: "componentWillUnmount",
                value: function() {
                    _t.a.off("key:saveRegex", this.onSaveRegexClick)
                }
            }, {
                key: "onShowMatchAreaClick",
                value: function() {
                    this.props.dispatch(ne.S())
                }
            }, {
                key: "onShowSubstitutionAreaClick",
                value: function() {
                    this.props.dispatch(ne.T())
                }
            }, {
                key: "onShowUnitTestAreaClick",
                value: function() {
                    this.props.dispatch(ne.U())
                }
            }, {
                key: "onFlavorClick",
                value: function(e) {
                    var t = this.props,
                        n = t.dispatch,
                        r = t.flags,
                        o = j.a[e][0];
                    n(ne.G(e)), n(ne.C(o)), n(ne.F(r, r, e))
                }
            }, {
                key: "onSaveRegexClick",
                value: function(e) {
                    e.stopPropagation(), "" !== this.props.regex && this.props.hasUnsavedData && this.setState({
                        showSaveModal: !0
                    })
                }
            }, {
                key: "onForkRegexClick",
                value: function() {
                    this.setState({
                        showSaveModal: !0,
                        isForking: !0
                    })
                }
            }, {
                key: "onSaveModalClose",
                value: function() {
                    this.setState({
                        showSaveModal: !1,
                        isForking: !1
                    })
                }
            }, {
                key: "onShowLibraryModalClose",
                value: function() {
                    this.setState({
                        showLibraryModal: !1
                    })
                }
            }, {
                key: "onShowLibraryModalClick",
                value: function() {
                    this.setState({
                        showLibraryModal: !0
                    })
                }
            }, {
                key: "onFavoriteClick",
                value: function() {
                    var e = this.props,
                        t = e.dispatch,
                        n = e.isFavorite,
                        r = e.permalinkFragment,
                        o = e.version;
                    t(ne.E(r, o, !n)).then(function() {
                        return t(ne.f(!n))
                    })
                }
            }, {
                key: "onDeleteRegexClick",
                value: function() {
                    this.setState({
                        showConfirmDeleteModal: !0
                    })
                }
            }, {
                key: "onConfirmDeleteModalClose",
                value: function() {
                    this.setState({
                        showConfirmDeleteModal: !1
                    })
                }
            }, {
                key: "onConfirmDeleteModalClick",
                value: function() {
                    var e = this,
                        t = this.props,
                        n = t.dispatch,
                        r = t.permalinkFragment,
                        o = t.deleteCode;
                    n(ne.c(r, o)).then(function() {
                        e.setState({
                            showConfirmDeleteModal: !1
                        }), window.location.href = "/"
                    })
                }
            }, {
                key: "render",
                value: function() {
                    var e = this,
                        t = this.props,
                        n = t.regex,
                        r = t.hasUnsavedData,
                        o = t.permalinkFragment,
                        i = t.userId,
                        s = t.isFavorite,
                        c = t.error,
                        u = t.flavor,
                        l = t.match,
                        p = t.location,
                        f = t.deleteCode,
                        y = t.className,
                        b = t.isLibraryEntry,
                        h = t.history,
                        d = t.showSubstitutionArea,
                        m = t.showMatchArea,
                        g = t.showUnitTestArea,
                        v = t.unitTestCount,
                        O = this.state,
                        j = O.showSaveModal,
                        w = O.isForking,
                        k = O.showLibraryModal,
                        E = O.showConfirmDeleteModal;
                    return a.a.createElement("div", {
                        className: y
                    }, a.a.createElement(Mn, {
                        alignment: Ot.a.LEFT,
                        className: ju.a.actionList,
                        header: Object(Ke.a)("Save & Share")
                    }, !b && a.a.createElement(Tr, {
                        icon: null != o ? "cw" : "floppy",
                        onClick: this.onSaveRegexClick,
                        isDisabled: "" === n || !r,
                        className: ju.a.saveBtn,
                        rightElement: he.a.toString(cn.SAVE_REGEX)
                    }, null != this.props.permalinkFragment ? Object(Ke.a)("Update Regex") : Object(Ke.a)("Save Regex")), null != o && a.a.createElement(vr, {
                        icon: "fork",
                        onClick: this.onForkRegexClick
                    }, Object(Ke.a)("Fork Regex")), null != f && a.a.createElement(vr, {
                        icon: "trash",
                        className: ju.a.deleteButton,
                        onClick: this.onDeleteRegexClick
                    }, Object(Ke.a)("Delete Regex")), null != i && a.a.createElement(vr, {
                        isDisabled: "" === n || c === un.a,
                        icon: "upload",
                        onClick: this.onShowLibraryModalClick
                    }, b ? Object(Ke.a)("Update Library Entry") : Object(Ke.a)("Upload to Library")), null != i && null != o && a.a.createElement(vr, {
                        icon: "heart",
                        className: ju.a.favoriteButton,
                        onClick: this.onFavoriteClick
                    }, s ? Object(Ke.a)("Unfavorite Regex") : Object(Ke.a)("Favorite Regex"))), a.a.createElement(Mn, {
                        alignment: Ot.a.LEFT,
                        className: ju.a.actionList,
                        header: Object(Ke.a)("Flavor")
                    }, a.a.createElement(Yr, {
                        icon: "code",
                        onClick: function() {
                            return e.onFlavorClick(_.a.PCRE)
                        },
                        isActive: u === _.a.PCRE
                    }, "PCRE (PHP)"), a.a.createElement(Yr, {
                        icon: "code",
                        onClick: function() {
                            return e.onFlavorClick(_.a.JAVASCRIPT)
                        },
                        isActive: u === _.a.JAVASCRIPT
                    }, "ECMAScript (JavaScript)"), a.a.createElement(Yr, {
                        icon: "code",
                        onClick: function() {
                            return e.onFlavorClick(_.a.PYTHON)
                        },
                        isActive: u === _.a.PYTHON
                    }, "Python"), a.a.createElement(Yr, {
                        icon: "code",
                        onClick: function() {
                            return e.onFlavorClick(_.a.GOLANG)
                        },
                        isActive: u === _.a.GOLANG
                    }, "Golang")), a.a.createElement(Mn, {
                        alignment: Ot.a.LEFT,
                        className: ju.a.actionList,
                        header: Object(Ke.a)("Function")
                    }, a.a.createElement(Yr, {
                        icon: "star",
                        onClick: this.onShowMatchAreaClick,
                        isActive: m
                    }, Object(Ke.a)("Match")), a.a.createElement(Yr, {
                        icon: "scissors",
                        onClick: this.onShowSubstitutionAreaClick,
                        isActive: d && !g
                    }, Object(Ke.a)("Substitution")), a.a.createElement(Yr, {
                        icon: "list-bullet",
                        onClick: this.onShowUnitTestAreaClick,
                        isActive: g
                    }, Object(Ke.a)("Unit Tests {1}", v > 0 ? "(".concat(v, ")") : ""))), a.a.createElement(Mn, {
                        alignment: Ot.a.LEFT,
                        header: Object(Ke.a)("Tools")
                    }, a.a.createElement(io, {
                        icon: "file-code",
                        isDisabled: "" === n,
                        to: {
                            pathname: Object(sn.b)("".concat(l.url, "/codegen")),
                            state: {
                                returnTo: p
                            },
                            search: an.a.stringify({
                                language: jn(u)
                            })
                        }
                    }, Object(Ke.a)("Code Generator")), u === _.a.PCRE && a.a.createElement(io, {
                        icon: "bug",
                        onClick: this.onRegexDebuggerClick,
                        isDisabled: "" === n || c === un.a || g,
                        to: {
                            pathname: Object(sn.b)("".concat(l.url, "/debugger")),
                            state: {
                                returnTo: p,
                                isFullscreen: !0
                            }
                        }
                    }, Object(Ke.a)("Regex Debugger"))), a.a.createElement(pi, {
                        isForking: w,
                        onModalClose: this.onSaveModalClose,
                        isOpen: j
                    }), a.a.createElement(eu, {
                        isOpen: k,
                        onModalClose: this.onShowLibraryModalClose,
                        isLibraryEntry: b,
                        location: p,
                        replace: h.replace
                    }), a.a.createElement(_u, {
                        isOpen: E,
                        onModalClose: this.onConfirmDeleteModalClose,
                        onConfirmClick: this.onConfirmDeleteModalClick
                    }))
                }
            }]) && ku(n.prototype, r), i && ku(n, i), t
        }(), gu.propTypes = {
            dispatch: He.a.func.isRequired,
            flavor: He.a.string.isRequired,
            flags: He.a.string.isRequired,
            regex: He.a.string.isRequired,
            error: He.a.oneOfType([He.a.string, He.a.number]),
            permalinkFragment: He.a.string,
            version: He.a.number,
            hasUnsavedData: He.a.bool.isRequired,
            userId: He.a.number,
            isFavorite: He.a.bool,
            match: He.a.shape({
                url: He.a.string.isRequired
            }).isRequired,
            isLibraryEntry: He.a.bool.isRequired,
            location: He.a.object.isRequired,
            deleteCode: He.a.string,
            className: He.a.string,
            history: He.a.object.isRequired,
            showMatchArea: He.a.bool.isRequired,
            showSubstitutionArea: He.a.bool.isRequired,
            showUnitTestArea: He.a.bool.isRequired,
            unitTestCount: He.a.number.isRequired
        }, Cu((mu = vu).prototype, "onShowMatchAreaClick", [vt.a], Object.getOwnPropertyDescriptor(mu.prototype, "onShowMatchAreaClick"), mu.prototype), Cu(mu.prototype, "onShowSubstitutionAreaClick", [vt.a], Object.getOwnPropertyDescriptor(mu.prototype, "onShowSubstitutionAreaClick"), mu.prototype), Cu(mu.prototype, "onShowUnitTestAreaClick", [vt.a], Object.getOwnPropertyDescriptor(mu.prototype, "onShowUnitTestAreaClick"), mu.prototype), Cu(mu.prototype, "onFlavorClick", [vt.a], Object.getOwnPropertyDescriptor(mu.prototype, "onFlavorClick"), mu.prototype), Cu(mu.prototype, "onSaveRegexClick", [vt.a], Object.getOwnPropertyDescriptor(mu.prototype, "onSaveRegexClick"), mu.prototype), Cu(mu.prototype, "onForkRegexClick", [vt.a], Object.getOwnPropertyDescriptor(mu.prototype, "onForkRegexClick"), mu.prototype), Cu(mu.prototype, "onSaveModalClose", [vt.a], Object.getOwnPropertyDescriptor(mu.prototype, "onSaveModalClose"), mu.prototype), Cu(mu.prototype, "onShowLibraryModalClose", [vt.a], Object.getOwnPropertyDescriptor(mu.prototype, "onShowLibraryModalClose"), mu.prototype), Cu(mu.prototype, "onShowLibraryModalClick", [vt.a], Object.getOwnPropertyDescriptor(mu.prototype, "onShowLibraryModalClick"), mu.prototype), Cu(mu.prototype, "onFavoriteClick", [vt.a], Object.getOwnPropertyDescriptor(mu.prototype, "onFavoriteClick"), mu.prototype), Cu(mu.prototype, "onDeleteRegexClick", [vt.a], Object.getOwnPropertyDescriptor(mu.prototype, "onDeleteRegexClick"), mu.prototype), Cu(mu.prototype, "onConfirmDeleteModalClose", [vt.a], Object.getOwnPropertyDescriptor(mu.prototype, "onConfirmDeleteModalClose"), mu.prototype), Cu(mu.prototype, "onConfirmDeleteModalClick", [vt.a], Object.getOwnPropertyDescriptor(mu.prototype, "onConfirmDeleteModalClick"), mu.prototype), du = mu)) || du;

        function Tu(e) {
            return (Tu = "function" === typeof Symbol && "symbol" === typeof Symbol.iterator ? function(e) {
                return typeof e
            } : function(e) {
                return e && "function" === typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e
            })(e)
        }

        function Ru(e, t) {
            if (null == e) return {};
            var n, r, o = function(e, t) {
                if (null == e) return {};
                var n, r, o = {},
                    a = Object.keys(e);
                for (r = 0; r < a.length; r++) n = a[r], t.indexOf(n) >= 0 || (o[n] = e[n]);
                return o
            }(e, t);
            if (Object.getOwnPropertySymbols) {
                var a = Object.getOwnPropertySymbols(e);
                for (r = 0; r < a.length; r++) n = a[r], t.indexOf(n) >= 0 || Object.prototype.propertyIsEnumerable.call(e, n) && (o[n] = e[n])
            }
            return o
        }

        function Nu(e, t) {
            for (var n = 0; n < t.length; n++) {
                var r = t[n];
                r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(e, r.key, r)
            }
        }

        function Mu(e, t) {
            return !t || "object" !== Tu(t) && "function" !== typeof t ? function(e) {
                if (void 0 === e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
                return e
            }(e) : t
        }

        function Au(e) {
            return (Au = Object.setPrototypeOf ? Object.getPrototypeOf : function(e) {
                return e.__proto__ || Object.getPrototypeOf(e)
            })(e)
        }

        function Iu(e, t) {
            return (Iu = Object.setPrototypeOf || function(e, t) {
                return e.__proto__ = t, e
            })(e, t)
        }
        var Lu = function(e) {
            function t() {
                return function(e, t) {
                    if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function")
                }(this, t), Mu(this, Au(t).apply(this, arguments))
            }
            var n, r, i;
            return function(e, t) {
                if ("function" !== typeof t && null !== t) throw new TypeError("Super expression must either be null or a function");
                e.prototype = Object.create(t && t.prototype, {
                    constructor: {
                        value: e,
                        writable: !0,
                        configurable: !0
                    }
                }), t && Iu(e, t)
            }(t, o["PureComponent"]), n = t, (r = [{
                key: "render",
                value: function() {
                    var e = this.props,
                        t = e.to,
                        n = e.children,
                        r = e.icon,
                        o = e.isActive,
                        i = Ru(e, ["to", "children", "icon", "isActive"]);
                    return a.a.createElement(Hn, i, a.a.createElement($e.l, {
                        className: Qr.a.link,
                        to: t,
                        noTheme: !0
                    }, a.a.createElement(pr, {
                        icon: r
                    }, a.a.createElement(Gr, {
                        children: n,
                        isActive: o
                    }))))
                }
            }]) && Nu(n.prototype, r), i && Nu(n, i), t
        }();
        Lu.propTypes = {
            children: He.a.node,
            to: He.a.oneOfType([He.a.string, He.a.object]).isRequired,
            isActive: He.a.bool.isRequired,
            icon: He.a.string.isRequired
        };
        var Du, qu, Fu, zu = Lu,
            Gu = n("./app/js/constants/LibraryOrder.js"),
            Bu = n.n(Gu);

        function Uu(e) {
            return (Uu = "function" === typeof Symbol && "symbol" === typeof Symbol.iterator ? function(e) {
                return typeof e
            } : function(e) {
                return e && "function" === typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e
            })(e)
        }

        function Hu(e, t) {
            for (var n = 0; n < t.length; n++) {
                var r = t[n];
                r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(e, r.key, r)
            }
        }

        function Wu(e, t) {
            return !t || "object" !== Uu(t) && "function" !== typeof t ? function(e) {
                if (void 0 === e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
                return e
            }(e) : t
        }

        function Vu(e) {
            return (Vu = Object.setPrototypeOf ? Object.getPrototypeOf : function(e) {
                return e.__proto__ || Object.getPrototypeOf(e)
            })(e)
        }

        function Ku(e, t) {
            return (Ku = Object.setPrototypeOf || function(e, t) {
                return e.__proto__ = t, e
            })(e, t)
        }
        var $u = Object(vt.f)((Fu = qu = function(e) {
                function t() {
                    var e, n;
                    ! function(e, t) {
                        if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function")
                    }(this, t);
                    for (var r = arguments.length, o = new Array(r), a = 0; a < r; a++) o[a] = arguments[a];
                    return (n = Wu(this, (e = Vu(t)).call.apply(e, [this].concat(o)))).flavorData = [{
                        flavor: _.a.PCRE,
                        string: "PCRE (PHP)"
                    }, {
                        flavor: _.a.JAVASCRIPT,
                        string: "ECMAScript (JavaScript)"
                    }, {
                        flavor: _.a.PYTHON,
                        string: "Python"
                    }, {
                        flavor: _.a.GOLANG,
                        string: "Golang"
                    }], n
                }
                var n, r, i;
                return function(e, t) {
                    if ("function" !== typeof t && null !== t) throw new TypeError("Super expression must either be null or a function");
                    e.prototype = Object.create(t && t.prototype, {
                        constructor: {
                            value: e,
                            writable: !0,
                            configurable: !0
                        }
                    }), t && Ku(e, t)
                }(t, o["PureComponent"]), n = t, (r = [{
                    key: "_getSortIcon",
                    value: function(e) {
                        switch (e) {
                            case Bu.a.MOST_RECENT:
                                return "calendar";
                            case Bu.a.MOST_POINTS:
                                return "sort-number-down";
                            case Bu.a.LEAST_POINTS:
                                return "sort-number-up";
                            case Bu.a.RELEVANCE:
                                return "sort-alt-down";
                            default:
                                return "sort"
                        }
                    }
                }, {
                    key: "render",
                    value: function() {
                        var e = this,
                            t = an.a.parse(this.props.location.search),
                            n = this.props.match.url,
                            r = t.filterFlavors,
                            o = void 0 === r ? [] : r,
                            i = t.orderBy,
                            s = void 0 === i ? Bu.a.MOST_RECENT : i,
                            c = t.search,
                            u = void 0 === c ? "" : c;
                        return a.a.createElement("div", {
                            className: this.props.className
                        }, a.a.createElement(Mn, {
                            alignment: Ot.a.LEFT,
                            header: Object(Ke.a)("Order By"),
                            className: ju.a.actionList
                        }, Bu.a.all.filter(function(e) {
                            return !(e === Bu.a.RELEVANCE && 0 === u.length)
                        }).map(function(r) {
                            return a.a.createElement(zu, {
                                to: {
                                    pathname: n,
                                    search: an.a.stringify(Object.assign({}, t, {
                                        orderBy: r
                                    }))
                                },
                                isActive: s === r,
                                key: "library-order-menu-".concat(r),
                                icon: e._getSortIcon(r)
                            }, function(e) {
                                switch (e) {
                                    case Bu.a.MOST_RECENT:
                                        return Object(Ke.a)("Most Recent");
                                    case Bu.a.MOST_POINTS:
                                        return Object(Ke.a)("Most Points");
                                    case Bu.a.LEAST_POINTS:
                                        return Object(Ke.a)("Fewest Points");
                                    case Bu.a.RELEVANCE:
                                        return Object(Ke.a)("Relevance");
                                    default:
                                        throw new Error("Unknown order ".concat(e))
                                }
                            }(r))
                        })), a.a.createElement(Mn, {
                            alignment: Ot.a.LEFT,
                            header: Object(Ke.a)("Filter by Flavor")
                        }, this.flavorData.map(function(e) {
                            var r = -1 !== o.indexOf(e.flavor),
                                i = [].concat(o);
                            return r ? i = i.filter(function(t) {
                                return t !== e.flavor
                            }) : i.push(e.flavor), a.a.createElement(zu, {
                                key: "library-flavor-".concat(e.flavor),
                                icon: "code",
                                isActive: r,
                                to: {
                                    pathname: n,
                                    search: an.a.stringify(Object.assign({}, t, {
                                        filterFlavors: i
                                    }))
                                }
                            }, e.string)
                        })))
                    }
                }]) && Hu(n.prototype, r), i && Hu(n, i), t
            }(), qu.propTypes = {
                location: He.a.object.isRequired,
                match: He.a.object.isRequired,
                className: He.a.string
            }, Du = Fu)) || Du,
            Yu = n("./app/js/components/LeftSidebar/SidebarContents/SettingsSidebar.css"),
            Ju = n.n(Yu);

        function Qu(e) {
            return (Qu = "function" === typeof Symbol && "symbol" === typeof Symbol.iterator ? function(e) {
                return typeof e
            } : function(e) {
                return e && "function" === typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e
            })(e)
        }

        function Xu(e, t) {
            for (var n = 0; n < t.length; n++) {
                var r = t[n];
                r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(e, r.key, r)
            }
        }

        function Zu(e, t) {
            return !t || "object" !== Qu(t) && "function" !== typeof t ? function(e) {
                if (void 0 === e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
                return e
            }(e) : t
        }

        function el(e) {
            return (el = Object.setPrototypeOf ? Object.getPrototypeOf : function(e) {
                return e.__proto__ || Object.getPrototypeOf(e)
            })(e)
        }

        function tl(e, t) {
            return (tl = Object.setPrototypeOf || function(e, t) {
                return e.__proto__ = t, e
            })(e, t)
        }
        var nl = function(e) {
            function t() {
                return function(e, t) {
                    if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function")
                }(this, t), Zu(this, el(t).apply(this, arguments))
            }
            var n, r, i;
            return function(e, t) {
                if ("function" !== typeof t && null !== t) throw new TypeError("Super expression must either be null or a function");
                e.prototype = Object.create(t && t.prototype, {
                    constructor: {
                        value: e,
                        writable: !0,
                        configurable: !0
                    }
                }), t && tl(e, t)
            }(t, o["PureComponent"]), n = t, (r = [{
                key: "render",
                value: function() {
                    return a.a.createElement("div", {
                        className: Je()(Ju.a.root, this.props.className)
                    }, a.a.createElement($e.k, {
                        text: Object(Ke.a)("Settings")
                    }), a.a.createElement("div", null, Object(Ke.a)("All settings to control the application are located here."), a.a.createElement("br", null), a.a.createElement("br", null), Object(Ke.a)("They are automatically saved as you change them and will be automatically loaded every time.")))
                }
            }]) && Xu(n.prototype, r), i && Xu(n, i), t
        }();
        nl.propTypes = {
            className: He.a.string
        };
        var rl, ol, al, il = nl,
            sl = n("./app/js/constants/UserHistoryScope.js"),
            cl = n.n(sl),
            ul = n("./app/js/constants/ServiceProviders.js"),
            ll = n.n(ul);

        function pl(e) {
            return (pl = "function" === typeof Symbol && "symbol" === typeof Symbol.iterator ? function(e) {
                return typeof e
            } : function(e) {
                return e && "function" === typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e
            })(e)
        }

        function fl(e, t) {
            for (var n = 0; n < t.length; n++) {
                var r = t[n];
                r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(e, r.key, r)
            }
        }

        function yl(e, t) {
            return !t || "object" !== pl(t) && "function" !== typeof t ? function(e) {
                if (void 0 === e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
                return e
            }(e) : t
        }

        function bl(e) {
            return (bl = Object.setPrototypeOf ? Object.getPrototypeOf : function(e) {
                return e.__proto__ || Object.getPrototypeOf(e)
            })(e)
        }

        function hl(e, t) {
            return (hl = Object.setPrototypeOf || function(e, t) {
                return e.__proto__ = t, e
            })(e, t)
        }
        var dl = Object(We.b)()((al = ol = function(e) {
            function t() {
                return function(e, t) {
                    if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function")
                }(this, t), yl(this, bl(t).apply(this, arguments))
            }
            var n, r, i;
            return function(e, t) {
                if ("function" !== typeof t && null !== t) throw new TypeError("Super expression must either be null or a function");
                e.prototype = Object.create(t && t.prototype, {
                    constructor: {
                        value: e,
                        writable: !0,
                        configurable: !0
                    }
                }), t && hl(e, t)
            }(t, o["Component"]), n = t, (r = [{
                key: "getServiceProviders",
                value: function() {
                    return "yes" === Object({
                        PORT: 8500,
                        NODE_ENV: "production",
                        VERSION: "3.26.6"
                    }).BETA ? [{
                        string: Object(Ke.a)("Beta Sign-in"),
                        icon: "login",
                        to: "/login/beta"
                    }] : [{
                        string: Object(Ke.a)("Google"),
                        icon: "google",
                        to: "/connect/google"
                    }, {
                        string: Object(Ke.a)("Github"),
                        icon: "github",
                        to: "/connect/github"
                    }, {
                        string: Object(Ke.a)("Twitter"),
                        icon: "twitter",
                        to: "/connect/twitter"
                    }]
                }
            }, {
                key: "render",
                value: function() {
                    var e = this.props,
                        t = e.onModalClose,
                        n = e.isOpen;
                    return a.a.createElement(qo, {
                        onModalClose: t,
                        isOpen: n
                    }, a.a.createElement(Ho, {
                        titleIcon: "login"
                    }, Object(Ke.a)("Sign In")), a.a.createElement(Jo, null, this.renderContent()), a.a.createElement(aa, null, a.a.createElement($e.a, {
                        text: Object(Ke.a)("Close"),
                        onClick: t,
                        type: Ot.e.CANCEL
                    })))
                }
            }, {
                key: "renderContent",
                value: function() {
                    var e = this;
                    return a.a.createElement("div", null, a.a.createElement(Mn, {
                        header: Object(Ke.a)("Sign in with one of the providers below")
                    }, this.getServiceProviders().map(function(t) {
                        return a.a.createElement(io, {
                            to: t.to + "?returnTo=" + e.props.returnTo,
                            icon: t.icon,
                            key: "provider-".concat(t.string),
                            absolute: !0
                        }, t.string)
                    })), a.a.createElement("br", null), a.a.createElement($e.o, null, Object(Ke.a)("Signing in allows you to add favorites as well as manage, make private, and delete your expressions.")), a.a.createElement($e.o, {
                        type: Ot.c.WARN,
                        style: {
                            marginTop: 5
                        }
                    }, Object(Ke.a)("Beware that this will refresh the page and any unsaved progress will be lost!")))
                }
            }]) && fl(n.prototype, r), i && fl(n, i), t
        }(), ol.propTypes = {
            dispatch: He.a.func.isRequired,
            onModalClose: He.a.func.isRequired,
            isOpen: He.a.bool.isRequired,
            returnTo: He.a.string
        }, ol.defaultProps = {
            returnTo: "/account/all"
        }, rl = al)) || rl;

        function ml(e) {
            return (ml = "function" === typeof Symbol && "symbol" === typeof Symbol.iterator ? function(e) {
                return typeof e
            } : function(e) {
                return e && "function" === typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e
            })(e)
        }

        function gl(e, t) {
            for (var n = 0; n < t.length; n++) {
                var r = t[n];
                r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(e, r.key, r)
            }
        }

        function vl(e, t) {
            return !t || "object" !== ml(t) && "function" !== typeof t ? function(e) {
                if (void 0 === e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
                return e
            }(e) : t
        }

        function _l(e) {
            return (_l = Object.setPrototypeOf ? Object.getPrototypeOf : function(e) {
                return e.__proto__ || Object.getPrototypeOf(e)
            })(e)
        }

        function Ol(e, t) {
            return (Ol = Object.setPrototypeOf || function(e, t) {
                return e.__proto__ = t, e
            })(e, t)
        }
        var jl = function(e) {
            function t() {
                return function(e, t) {
                    if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function")
                }(this, t), vl(this, _l(t).apply(this, arguments))
            }
            var n, r, i;
            return function(e, t) {
                if ("function" !== typeof t && null !== t) throw new TypeError("Super expression must either be null or a function");
                e.prototype = Object.create(t && t.prototype, {
                    constructor: {
                        value: e,
                        writable: !0,
                        configurable: !0
                    }
                }), t && Ol(e, t)
            }(t, o["PureComponent"]), n = t, (r = [{
                key: "render",
                value: function() {
                    return a.a.createElement("div", {
                        className: this.props.className
                    }, a.a.createElement($e.k, {
                        text: Object(Ke.a)("Tags")
                    }), this._renderTags())
                }
            }, {
                key: "_renderTags",
                value: function() {
                    return this.props.staleData ? a.a.createElement($e.r, {
                        size: Ot.d.TINY,
                        style: {
                            margin: "0 auto"
                        }
                    }) : a.a.createElement(Ra, {
                        tags: this.props.tags,
                        clickable: !0
                    })
                }
            }]) && gl(n.prototype, r), i && gl(n, i), t
        }();
        jl.propTypes = {
            tags: He.a.array.isRequired,
            className: He.a.string,
            staleData: He.a.bool.isRequired
        };
        var wl, kl, El, Sl, xl = jl,
            Cl = n("./app/js/components/LeftSidebar/SidebarContents/AccountSidebar.css"),
            Pl = n.n(Cl);

        function Tl(e) {
            return (Tl = "function" === typeof Symbol && "symbol" === typeof Symbol.iterator ? function(e) {
                return typeof e
            } : function(e) {
                return e && "function" === typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e
            })(e)
        }

        function Rl(e, t) {
            for (var n = 0; n < t.length; n++) {
                var r = t[n];
                r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(e, r.key, r)
            }
        }

        function Nl(e, t) {
            return !t || "object" !== Tl(t) && "function" !== typeof t ? function(e) {
                if (void 0 === e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
                return e
            }(e) : t
        }

        function Ml(e) {
            return (Ml = Object.setPrototypeOf ? Object.getPrototypeOf : function(e) {
                return e.__proto__ || Object.getPrototypeOf(e)
            })(e)
        }

        function Al(e, t) {
            return (Al = Object.setPrototypeOf || function(e, t) {
                return e.__proto__ = t, e
            })(e, t)
        }

        function Il(e, t, n, r, o) {
            var a = {};
            return Object.keys(r).forEach(function(e) {
                a[e] = r[e]
            }), a.enumerable = !!a.enumerable, a.configurable = !!a.configurable, ("value" in a || a.initializer) && (a.writable = !0), a = n.slice().reverse().reduce(function(n, r) {
                return r(e, t, n) || n
            }, a), o && void 0 !== a.initializer && (a.value = a.initializer ? a.initializer.call(o) : void 0, a.initializer = void 0), void 0 === a.initializer && (Object.defineProperty(e, t, a), a = null), a
        }
        var Ll, Dl, ql, Fl, zl = Object(We.b)(function(e) {
                return {
                    allTags: e.account.allTags,
                    userId: e.general.userId,
                    staleData: e.account.staleData,
                    email: e.general.email,
                    serviceProvider: e.general.serviceProvider
                }
            })((Sl = El = function(e) {
                function t() {
                    var e, n;
                    ! function(e, t) {
                        if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function")
                    }(this, t);
                    for (var r = arguments.length, o = new Array(r), a = 0; a < r; a++) o[a] = arguments[a];
                    return (n = Nl(this, (e = Ml(t)).call.apply(e, [this].concat(o)))).state = {
                        showModal: !1
                    }, n
                }
                var n, r, i;
                return function(e, t) {
                    if ("function" !== typeof t && null !== t) throw new TypeError("Super expression must either be null or a function");
                    e.prototype = Object.create(t && t.prototype, {
                        constructor: {
                            value: e,
                            writable: !0,
                            configurable: !0
                        }
                    }), t && Al(e, t)
                }(t, o["PureComponent"]), n = t, (r = [{
                    key: "onSignInClick",
                    value: function() {
                        this.setState({
                            showModal: !0
                        })
                    }
                }, {
                    key: "onModalClose",
                    value: function() {
                        this.setState({
                            showModal: !1
                        })
                    }
                }, {
                    key: "_getCategories",
                    value: function() {
                        return [{
                            string: Object(Ke.a)("My History"),
                            icon: "history",
                            scope: cl.a.ALL
                        }, {
                            string: Object(Ke.a)("My Expressions"),
                            icon: "home",
                            scope: cl.a.MINE
                        }, {
                            string: Object(Ke.a)("My Favorites"),
                            icon: "heart",
                            scope: cl.a.FAVORITES
                        }, {
                            string: Object(Ke.a)("My Library Entries"),
                            icon: "book",
                            scope: cl.a.LIBRARY
                        }]
                    }
                }, {
                    key: "_getServiceProviderIcon",
                    value: function(e) {
                        switch (e) {
                            case ll.a.GOOGLE:
                                return "google";
                            case ll.a.TWITTER:
                                return "twitter";
                            case ll.a.GITHUB:
                                return "github";
                            default:
                                throw new Error("Unknown service provider " + e)
                        }
                    }
                }, {
                    key: "render",
                    value: function() {
                        var e = this.props,
                            t = e.allTags,
                            n = e.location,
                            r = e.match,
                            o = e.userId,
                            i = e.className,
                            s = e.staleData,
                            c = e.email,
                            u = e.serviceProvider;
                        return a.a.createElement("div", {
                            className: i
                        }, a.a.createElement(Mn, {
                            alignment: Ot.a.LEFT,
                            header: Object(Ke.a)("Control"),
                            className: Pl.a.sidebarMenu
                        }, null == o && a.a.createElement(vr, {
                            onClick: this.onSignInClick,
                            icon: "login"
                        }, Object(Ke.a)("Sign In")), null != o && null != c && null != u && a.a.createElement(vr, {
                            className: Pl.a.email,
                            icon: this._getServiceProviderIcon(u),
                            isDisabled: !0
                        }, c), null != o && a.a.createElement(io, {
                            to: "/login/destroy",
                            absolute: !0,
                            icon: "logout",
                            className: Pl.a.signOut
                        }, Object(Ke.a)("Sign out"))), null != o && a.a.createElement(Mn, {
                            alignment: Ot.a.LEFT,
                            header: Object(Ke.a)("Category"),
                            className: Pl.a.sidebarMenu
                        }, this._getCategories().map(function(e) {
                            var t = r.path + "/" + e.scope;
                            return a.a.createElement(zu, {
                                to: t,
                                isActive: t === n.pathname,
                                key: "account-category-".concat(e.scope),
                                icon: e.icon
                            }, e.string)
                        })), null != o && a.a.createElement(xl, {
                            className: Pl.a.taglist,
                            tags: t,
                            staleData: s
                        }), a.a.createElement(dl, {
                            onModalClose: this.onModalClose,
                            isOpen: this.state.showModal
                        }))
                    }
                }]) && Rl(n.prototype, r), i && Rl(n, i), t
            }(), El.propTypes = {
                location: He.a.object.isRequired,
                match: He.a.object.isRequired,
                allTags: He.a.array.isRequired,
                staleData: He.a.bool.isRequired,
                userId: He.a.number,
                className: He.a.string,
                email: He.a.string,
                serviceProvider: He.a.string
            }, Il((kl = Sl).prototype, "onSignInClick", [vt.a], Object.getOwnPropertyDescriptor(kl.prototype, "onSignInClick"), kl.prototype), Il(kl.prototype, "onModalClose", [vt.a], Object.getOwnPropertyDescriptor(kl.prototype, "onModalClose"), kl.prototype), wl = kl)) || wl,
            Gl = n("./app/js/components/LeftSidebar/SidebarContents/QuizSidebar.css"),
            Bl = n.n(Gl);

        function Ul(e) {
            return (Ul = "function" === typeof Symbol && "symbol" === typeof Symbol.iterator ? function(e) {
                return typeof e
            } : function(e) {
                return e && "function" === typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e
            })(e)
        }

        function Hl(e, t) {
            for (var n = 0; n < t.length; n++) {
                var r = t[n];
                r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(e, r.key, r)
            }
        }

        function Wl(e, t) {
            return !t || "object" !== Ul(t) && "function" !== typeof t ? function(e) {
                if (void 0 === e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
                return e
            }(e) : t
        }

        function Vl(e) {
            return (Vl = Object.setPrototypeOf ? Object.getPrototypeOf : function(e) {
                return e.__proto__ || Object.getPrototypeOf(e)
            })(e)
        }

        function Kl(e, t) {
            return (Kl = Object.setPrototypeOf || function(e, t) {
                return e.__proto__ = t, e
            })(e, t)
        }

        function $l(e, t, n, r, o) {
            var a = {};
            return Object.keys(r).forEach(function(e) {
                a[e] = r[e]
            }), a.enumerable = !!a.enumerable, a.configurable = !!a.configurable, ("value" in a || a.initializer) && (a.writable = !0), a = n.slice().reverse().reduce(function(n, r) {
                return r(e, t, n) || n
            }, a), o && void 0 !== a.initializer && (a.value = a.initializer ? a.initializer.call(o) : void 0, a.initializer = void 0), void 0 === a.initializer && (Object.defineProperty(e, t, a), a = null), a
        }
        var Yl, Jl, Ql, Xl = Object(We.b)(function(e) {
                return {
                    userId: e.general.userId,
                    allTasks: e.quiz.allTasks
                }
            })((Fl = ql = function(e) {
                function t() {
                    var e, n;
                    ! function(e, t) {
                        if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function")
                    }(this, t);
                    for (var r = arguments.length, o = new Array(r), a = 0; a < r; a++) o[a] = arguments[a];
                    return (n = Wl(this, (e = Vl(t)).call.apply(e, [this].concat(o)))).state = {
                        showModal: !1
                    }, n
                }
                var n, r, i;
                return function(e, t) {
                    if ("function" !== typeof t && null !== t) throw new TypeError("Super expression must either be null or a function");
                    e.prototype = Object.create(t && t.prototype, {
                        constructor: {
                            value: e,
                            writable: !0,
                            configurable: !0
                        }
                    }), t && Kl(e, t)
                }(t, o["Component"]), n = t, (r = [{
                    key: "onSignInClick",
                    value: function() {
                        this.setState({
                            showModal: !0
                        })
                    }
                }, {
                    key: "onModalClose",
                    value: function() {
                        this.setState({
                            showModal: !1
                        })
                    }
                }, {
                    key: "render",
                    value: function() {
                        var e = this.props,
                            t = e.userId,
                            n = e.className;
                        return a.a.createElement("div", {
                            className: n
                        }, this._renderContent(), a.a.createElement(Mn, {
                            alignment: Ot.a.LEFT,
                            header: Object(Ke.a)("Control"),
                            className: Bl.a.sidebarMenu
                        }, null == t && a.a.createElement(vr, {
                            onClick: this.onSignInClick,
                            icon: "login"
                        }, Object(Ke.a)("Sign In")), null != t && a.a.createElement(io, {
                            to: "/login/destroy",
                            absolute: !0,
                            icon: "logout",
                            className: Bl.a.signOut
                        }, Object(Ke.a)("Sign out"))), a.a.createElement(dl, {
                            onModalClose: this.onModalClose,
                            isOpen: this.state.showModal,
                            returnTo: "/quiz"
                        }))
                    }
                }, {
                    key: "_renderContent",
                    value: function() {
                        return null == this.props.userId ? null : a.a.createElement(Mn, {
                            alignment: Ot.a.LEFT,
                            header: Object(Ke.a)("Tasks"),
                            className: Bl.a.sidebarMenu
                        }, a.a.createElement(zu, {
                            icon: "heart",
                            to: this.props.match.path,
                            isActive: this.props.match.path === this.props.location.pathname
                        }, Object(Ke.a)("Introduction")), this._renderTasks())
                    }
                }, {
                    key: "_renderTasks",
                    value: function() {
                        var e = this.props,
                            t = e.allTasks,
                            n = e.userId,
                            r = e.match,
                            o = e.location;
                        return null == n ? null : t.map(function(e, t) {
                            var n = t + 1,
                                i = r.path + "/" + n;
                            return a.a.createElement(zu, {
                                icon: "dot-circled",
                                to: i,
                                isActive: i === o.pathname,
                                isDisabled: !e.canSolve,
                                key: "task-".concat(e.taskNumber)
                            }, n, ". ", e.title, " ", e.isOptional && "(".concat(Object(Ke.a)("optional"), ")"))
                        })
                    }
                }]) && Hl(n.prototype, r), i && Hl(n, i), t
            }(), ql.propTypes = {
                location: He.a.object.isRequired,
                match: He.a.object.isRequired,
                userId: He.a.number,
                className: He.a.string,
                allTasks: He.a.arrayOf(He.a.shape({
                    title: He.a.string.isRequired
                })).isRequired
            }, $l((Dl = Fl).prototype, "onSignInClick", [vt.a], Object.getOwnPropertyDescriptor(Dl.prototype, "onSignInClick"), Dl.prototype), $l(Dl.prototype, "onModalClose", [vt.a], Object.getOwnPropertyDescriptor(Dl.prototype, "onModalClose"), Dl.prototype), $l(Dl.prototype, "_renderTasks", [vt.a], Object.getOwnPropertyDescriptor(Dl.prototype, "_renderTasks"), Dl.prototype), Ll = Dl)) || Ll,
            Zl = n("./app/js/components/CarbonSponsor/CarbonSponsor.css"),
            ep = n.n(Zl);

        function tp(e) {
            return (tp = "function" === typeof Symbol && "symbol" === typeof Symbol.iterator ? function(e) {
                return typeof e
            } : function(e) {
                return e && "function" === typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e
            })(e)
        }

        function np(e, t) {
            for (var n = 0; n < t.length; n++) {
                var r = t[n];
                r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(e, r.key, r)
            }
        }

        function rp(e, t) {
            return !t || "object" !== tp(t) && "function" !== typeof t ? function(e) {
                if (void 0 === e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
                return e
            }(e) : t
        }

        function op(e) {
            return (op = Object.setPrototypeOf ? Object.getPrototypeOf : function(e) {
                return e.__proto__ || Object.getPrototypeOf(e)
            })(e)
        }

        function ap(e, t) {
            return (ap = Object.setPrototypeOf || function(e, t) {
                return e.__proto__ = t, e
            })(e, t)
        }
        var ip = Object(We.b)(function(e) {
                return {
                    sponsorData: e.general.sponsorData
                }
            })((Ql = Jl = function(e) {
                function t() {
                    return function(e, t) {
                        if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function")
                    }(this, t), rp(this, op(t).apply(this, arguments))
                }
                var n, r, i;
                return function(e, t) {
                    if ("function" !== typeof t && null !== t) throw new TypeError("Super expression must either be null or a function");
                    e.prototype = Object.create(t && t.prototype, {
                        constructor: {
                            value: e,
                            writable: !0,
                            configurable: !0
                        }
                    }), t && ap(e, t)
                }(t, o["PureComponent"]), n = t, (r = [{
                    key: "onRecordEvolutionClick",
                    value: function() {
                        Object(_e.outboundLink)({
                            label: "Record Evolution Sponsor"
                        }, function() {})
                    }
                }, {
                    key: "onCardonClick",
                    value: function() {
                        Object(_e.outboundLink)({
                            label: "Carbon Sponsor"
                        }, function() {})
                    }
                }, {
                    key: "render",
                    value: function() {
                        return a.a.createElement("div", {
                            className: Je()(ep.a.sponsor, this.props.className)
                        }, a.a.createElement("div", {
                            className: ep.a.sponsorText
                        }, "Sponsor"), this._renderCarbon())
                    }
                }, {
                    key: "_renderCarbon",
                    value: function() {
                        var e = this.props.sponsorData;
                        if (!e) return null;
                        var t = "".concat(e.statlink, "?segment=placement:regex101com");
                        return a.a.createElement($e.l, {
                            className: ep.a.carbonLink,
                            to: t,
                            absolute: !0,
                            rel: "nofollow noopener",
                            onClick: this.onCardonClick,
                            target: "_blank"
                        }, a.a.createElement("strong", null, e.title), a.a.createElement("div", {
                            className: ep.a.description
                        }, e.description))
                    }
                }]) && np(n.prototype, r), i && np(n, i), t
            }(), Jl.propTypes = {
                sponsorData: He.a.object,
                className: He.a.string
            }, Yl = Ql)) || Yl,
            sp = 16,
            cp = "regex101-nickname";

        function up() {
            return oe.a.get(cp).then(function(e) {
                if (!e || "string" !== typeof e || e.length > sp) throw new Error("Invalid nickname");
                return Promise.resolve(e)
            }).catch(function(e) {
                return Promise.resolve("re101-".concat((t = ["Adelie", "Hound", "Civet", "Ainu", "Akbash", "Akita", "Ant", "Fox", "Hare", "Wolf", "Mist", "Avocet", "Baboon", "Camel", "Badger", "Barb", "Bat", "Beagle", "Bear", "Collie", "Beaver", "Beetle", "Bichon", "Bird", "Birman", "Bison", "Bobcat", "Bombay", "Bongo", "Bonobo", "Booby", "Boykin", "Budgie", "Fish", "Caiman", "Lizard", "Canaan", "Cat", "Cesky", "Fousek", "Coati", "Coral", "Cougar", "Cow", "Coyote", "Crab", "Crane", "Cuscus", "Frog", "Deer", "Bracke", "Dhole", "Dingo", "Discus", "Dodo", "Dog", "Dogo", "Donkey", "Drever", "Duck", "Dugong", "Dunker", "Dusky", "Eagle", "Mau", "Emu", "Falcon", "Fennec", "Ferret", "Spitz", "Fly", "Fossa", "Gar", "Gecko", "Gerbil", "Gibbon", "Goat", "Oriole", "Goose", "Gopher", "Grouse", "Guppy", "Shark", "Heron", "Horse", "Human", "Hyena", "Ibis", "Iguana", "Impala", "Indri", "Insect", "Setter", "Jackal", "Jaguar", "Kakapo", "Kiwi", "Koala", "Kudu", "Lemur", "Liger", "Lion", "Llama", "Owl", "Lynx", "Macaw", "Magpie", "Mayfly", "Mole", "Molly", "Monkey", "Moose", "Eel", "Moray", "Moth", "Mouse", "Mule", "Newt", "Numbat", "Ocelot", "Okapi", "Olm", "Otter", "Oyster", "Parrot", "Pig", "Pika", "Pike", "Poodle", "Possum", "Prawn", "Puffin", "Pug", "Puma", "Pygmy", "Quail", "Quokka", "Quoll", "Rabbit", "Rat", "Robin", "Saola", "Seal", "Serval", "Sheep", "Shrimp", "Skunk", "Sloth", "Snail", "Snake", "Somali", "Sponge", "Squid", "Stoat", "Swan", "Tang", "Tapir", "Tetra", "Tiger", "Toucan", "Turkey", "Uakari", "Uguisu", "Walrus", "Wasp", "Weasel", "Wombat", "Wrasse", "Yak", "Yorkie", "Zebra", "Zebu", "Zonkey", "Zorse"])[N.a.random(0, t.length - 1)].toLowerCase(), "-?"));
                var t
            }).then(function(e) {
                return oe.a.save(cp, e), e
            })
        }
        var lp, pp, fp, yp, bp = n("./app/js/components/LeftSidebar/InnerSidebar.css"),
            hp = n.n(bp);

        function dp(e) {
            return (dp = "function" === typeof Symbol && "symbol" === typeof Symbol.iterator ? function(e) {
                return typeof e
            } : function(e) {
                return e && "function" === typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e
            })(e)
        }

        function mp(e, t) {
            for (var n = 0; n < t.length; n++) {
                var r = t[n];
                r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(e, r.key, r)
            }
        }

        function gp(e, t) {
            return !t || "object" !== dp(t) && "function" !== typeof t ? function(e) {
                if (void 0 === e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
                return e
            }(e) : t
        }

        function vp(e) {
            return (vp = Object.setPrototypeOf ? Object.getPrototypeOf : function(e) {
                return e.__proto__ || Object.getPrototypeOf(e)
            })(e)
        }

        function _p(e, t) {
            return (_p = Object.setPrototypeOf || function(e, t) {
                return e.__proto__ = t, e
            })(e, t)
        }
        var Op = (lp = Object(We.b)(function(e) {
                return {
                    permalinkFragment: e.general.permalinkFragment,
                    version: e.general.version,
                    profilePicture: e.general.profilePicture,
                    mostRecentTaskIdx: e.quiz.mostRecentTaskIdx
                }
            }), Object(vt.f)(pp = lp((yp = fp = function(e) {
                function t() {
                    var e, n;
                    ! function(e, t) {
                        if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function")
                    }(this, t);
                    for (var r = arguments.length, o = new Array(r), a = 0; a < r; a++) o[a] = arguments[a];
                    return (n = gp(this, (e = vp(t)).call.apply(e, [this].concat(o)))).state = {
                        nickname: "regex101-...."
                    }, n
                }
                var n, r, i;
                return function(e, t) {
                    if ("function" !== typeof t && null !== t) throw new TypeError("Super expression must either be null or a function");
                    e.prototype = Object.create(t && t.prototype, {
                        constructor: {
                            value: e,
                            writable: !0,
                            configurable: !0
                        }
                    }), t && _p(e, t)
                }(t, o["Component"]), n = t, (r = [{
                    key: "componentDidMount",
                    value: function() {
                        var e = this;
                        up().then(function(t) {
                            return e.setState({
                                nickname: t
                            })
                        })
                    }
                }, {
                    key: "onLinkClick",
                    value: function() {
                        _t.a.emit("closeLeftSidebar")
                    }
                }, {
                    key: "render",
                    value: function() {
                        var e = this.props,
                            t = e.permalinkFragment,
                            n = e.version,
                            r = e.profilePicture,
                            o = e.mostRecentTaskIdx,
                            i = !isNaN(o) && o > 0 ? "/quiz/".concat(o) : "/quiz";
                        return a.a.createElement("div", {
                            className: hp.a.root
                        }, a.a.createElement($e.l, {
                            to: null != t ? Object(sn.a)(t, n) : "/",
                            className: hp.a.link,
                            activeClassName: hp.a.active,
                            noTheme: !0,
                            exact: !0,
                            isActive: function(e, t) {
                                return /^\/(?!library|account|setting|quiz)/.test(t.pathname)
                            },
                            onClick: this.onLinkClick
                        }, a.a.createElement($e.j, {
                            size: 34,
                            tooltip: Object(Ke.a)("Regex Editor"),
                            tooltipDirection: Ot.b.E,
                            icon: "code",
                            themeClass: hp.a.iconButton
                        })), a.a.createElement($e.l, {
                            to: "/library",
                            className: hp.a.link,
                            activeClassName: hp.a.active,
                            noTheme: !0,
                            onClick: this.onLinkClick
                        }, a.a.createElement($e.j, {
                            size: 34,
                            tooltip: Object(Ke.a)("Regex Library"),
                            tooltipDirection: Ot.b.E,
                            icon: "book",
                            themeClass: hp.a.iconButton
                        })), a.a.createElement($e.l, {
                            to: "/account",
                            className: r ? hp.a.accountLink : hp.a.link,
                            activeClassName: hp.a.active,
                            noTheme: !0,
                            onClick: this.onLinkClick
                        }, a.a.createElement($e.j, {
                            size: 34,
                            tooltip: Object(Ke.a)("Account"),
                            tooltipDirection: Ot.b.E,
                            icon: r ? void 0 : "user",
                            imageUrl: r || void 0,
                            themeClass: hp.a.iconButton
                        })), a.a.createElement($e.l, {
                            to: i,
                            className: hp.a.link,
                            activeClassName: hp.a.active,
                            noTheme: !0,
                            onClick: this.onLinkClick,
                            isActive: function(e, t) {
                                return /^\/quiz/.test(t.pathname)
                            }
                        }, a.a.createElement($e.j, {
                            size: 34,
                            tooltip: Object(Ke.a)("Quiz"),
                            tooltipDirection: Ot.b.E,
                            icon: "gamepad",
                            themeClass: hp.a.iconButton
                        })), a.a.createElement($e.l, {
                            to: "/settings",
                            className: hp.a.link,
                            activeClassName: hp.a.active,
                            noTheme: !0,
                            onClick: this.onLinkClick
                        }, a.a.createElement($e.j, {
                            size: 34,
                            tooltip: Object(Ke.a)("Settings"),
                            tooltipDirection: Ot.b.E,
                            icon: "wrench",
                            themeClass: hp.a.iconButton
                        })), a.a.createElement($e.l, {
                            to: Be.g + this.state.nickname,
                            target: "_blank",
                            className: hp.a.link,
                            noTheme: !0,
                            absolute: !0
                        }, a.a.createElement($e.j, {
                            size: 34,
                            tooltip: Object(Ke.a)("Live Help (IRC, opens new window)"),
                            tooltipDirection: Ot.b.E,
                            icon: "chat",
                            themeClass: hp.a.iconButton
                        })), a.a.createElement($e.l, {
                            target: "_blank",
                            to: Be.b,
                            className: Je()(hp.a.link, hp.a.donationButton),
                            noTheme: !0,
                            absolute: !0
                        }, a.a.createElement($e.j, {
                            size: 34,
                            tooltip: Object(Ke.a)("Consider a donation"),
                            tooltipDirection: Ot.b.NE,
                            icon: "dollar",
                            themeClass: hp.a.iconButton
                        })), a.a.createElement($e.l, {
                            target: "_blank",
                            to: Be.e,
                            className: Je()(hp.a.link, hp.a.sponsorButton),
                            noTheme: !0,
                            absolute: !0
                        }, a.a.createElement($e.j, {
                            size: 34,
                            tooltip: Object(Ke.a)("Become a sponsor"),
                            tooltipDirection: Ot.b.NE,
                            icon: "heart",
                            themeClass: hp.a.iconButton
                        })))
                    }
                }]) && mp(n.prototype, r), i && mp(n, i), t
            }(), fp.propTypes = {
                permalinkFragment: He.a.string,
                version: He.a.number,
                profilePicture: He.a.string,
                mostRecentTaskIdx: He.a.number
            }, pp = yp)) || pp) || pp),
            jp = n("./app/js/components/MenuHamburger/MenuHamburger.css"),
            wp = n.n(jp);

        function kp(e) {
            return (kp = "function" === typeof Symbol && "symbol" === typeof Symbol.iterator ? function(e) {
                return typeof e
            } : function(e) {
                return e && "function" === typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e
            })(e)
        }

        function Ep() {
            return (Ep = Object.assign || function(e) {
                for (var t = 1; t < arguments.length; t++) {
                    var n = arguments[t];
                    for (var r in n) Object.prototype.hasOwnProperty.call(n, r) && (e[r] = n[r])
                }
                return e
            }).apply(this, arguments)
        }

        function Sp(e, t) {
            if (null == e) return {};
            var n, r, o = function(e, t) {
                if (null == e) return {};
                var n, r, o = {},
                    a = Object.keys(e);
                for (r = 0; r < a.length; r++) n = a[r], t.indexOf(n) >= 0 || (o[n] = e[n]);
                return o
            }(e, t);
            if (Object.getOwnPropertySymbols) {
                var a = Object.getOwnPropertySymbols(e);
                for (r = 0; r < a.length; r++) n = a[r], t.indexOf(n) >= 0 || Object.prototype.propertyIsEnumerable.call(e, n) && (o[n] = e[n])
            }
            return o
        }

        function xp(e, t) {
            for (var n = 0; n < t.length; n++) {
                var r = t[n];
                r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(e, r.key, r)
            }
        }

        function Cp(e, t) {
            return !t || "object" !== kp(t) && "function" !== typeof t ? function(e) {
                if (void 0 === e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
                return e
            }(e) : t
        }

        function Pp(e) {
            return (Pp = Object.setPrototypeOf ? Object.getPrototypeOf : function(e) {
                return e.__proto__ || Object.getPrototypeOf(e)
            })(e)
        }

        function Tp(e, t) {
            return (Tp = Object.setPrototypeOf || function(e, t) {
                return e.__proto__ = t, e
            })(e, t)
        }
        var Rp = function(e) {
            function t() {
                return function(e, t) {
                    if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function")
                }(this, t), Cp(this, Pp(t).apply(this, arguments))
            }
            var n, r, i;
            return function(e, t) {
                if ("function" !== typeof t && null !== t) throw new TypeError("Super expression must either be null or a function");
                e.prototype = Object.create(t && t.prototype, {
                    constructor: {
                        value: e,
                        writable: !0,
                        configurable: !0
                    }
                }), t && Tp(e, t)
            }(t, o["PureComponent"]), n = t, (r = [{
                key: "render",
                value: function() {
                    var e = this.props,
                        t = e.containerClass,
                        n = e.tooltipDirection,
                        r = e.tooltipText,
                        o = e.onClick,
                        i = e.icon,
                        s = Sp(e, ["containerClass", "tooltipDirection", "tooltipText", "onClick", "icon"]);
                    return a.a.createElement($e.p, {
                        className: Je()(t, wp.a.container)
                    }, a.a.createElement($e.j, Ep({
                        tooltip: r,
                        tooltipDirection: n,
                        icon: i,
                        onClick: o
                    }, s)))
                }
            }]) && xp(n.prototype, r), i && xp(n, i), t
        }();
        Rp.propTypes = {
            tooltipDirection: He.a.oneOf(Ot.b.all),
            tooltipText: He.a.string.isRequired,
            icon: He.a.string,
            onClick: He.a.func.isRequired,
            containerClass: He.a.string.isRequired
        }, Rp.defaultProps = {
            icon: "menu"
        };
        var Np, Mp, Ap, Ip = Rp;

        function Lp(e) {
            return (Lp = "function" === typeof Symbol && "symbol" === typeof Symbol.iterator ? function(e) {
                return typeof e
            } : function(e) {
                return e && "function" === typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e
            })(e)
        }

        function Dp(e, t) {
            for (var n = 0; n < t.length; n++) {
                var r = t[n];
                r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(e, r.key, r)
            }
        }

        function qp(e, t) {
            return !t || "object" !== Lp(t) && "function" !== typeof t ? function(e) {
                if (void 0 === e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
                return e
            }(e) : t
        }

        function Fp(e) {
            return (Fp = Object.setPrototypeOf ? Object.getPrototypeOf : function(e) {
                return e.__proto__ || Object.getPrototypeOf(e)
            })(e)
        }

        function zp(e, t) {
            return (zp = Object.setPrototypeOf || function(e, t) {
                return e.__proto__ = t, e
            })(e, t)
        }
        var Gp, Bp, Up, Hp = (Ap = Mp = function(e) {
                function t() {
                    return function(e, t) {
                        if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function")
                    }(this, t), qp(this, Fp(t).apply(this, arguments))
                }
                var n, r, i;
                return function(e, t) {
                    if ("function" !== typeof t && null !== t) throw new TypeError("Super expression must either be null or a function");
                    e.prototype = Object.create(t && t.prototype, {
                        constructor: {
                            value: e,
                            writable: !0,
                            configurable: !0
                        }
                    }), t && zp(e, t)
                }(t, o["Component"]), n = t, (r = [{
                    key: "componentDidMount",
                    value: function() {
                        _t.a.on("key:saveRegex", this.onSaveRegex)
                    }
                }, {
                    key: "componentWillUnmount",
                    value: function() {
                        _t.a.off("key:saveRegex", this.onSaveRegex)
                    }
                }, {
                    key: "onSaveRegex",
                    value: function() {
                        this.props.onClick();
                        for (var e = arguments.length, t = new Array(e), n = 0; n < e; n++) t[n] = arguments[n];
                        _t.a.emit.apply(_t.a, ["key:saveRegex"].concat(t))
                    }
                }, {
                    key: "render",
                    value: function() {
                        return a.a.createElement(Ip, this.props)
                    }
                }]) && Dp(n.prototype, r), i && Dp(n, i), t
            }(), Mp.propTypes = {
                onClick: He.a.func.isRequired
            }, function(e, t, n, r, o) {
                var a = {};
                Object.keys(r).forEach(function(e) {
                    a[e] = r[e]
                }), a.enumerable = !!a.enumerable, a.configurable = !!a.configurable, ("value" in a || a.initializer) && (a.writable = !0), a = n.slice().reverse().reduce(function(n, r) {
                    return r(e, t, n) || n
                }, a), o && void 0 !== a.initializer && (a.value = a.initializer ? a.initializer.call(o) : void 0, a.initializer = void 0), void 0 === a.initializer && (Object.defineProperty(e, t, a), a = null)
            }((Np = Ap).prototype, "onSaveRegex", [vt.a], Object.getOwnPropertyDescriptor(Np.prototype, "onSaveRegex"), Np.prototype), Np),
            Wp = n("./app/js/components/LeftSidebar/CollapsableLeftSidebar.css"),
            Vp = n.n(Wp);

        function Kp(e) {
            return (Kp = "function" === typeof Symbol && "symbol" === typeof Symbol.iterator ? function(e) {
                return typeof e
            } : function(e) {
                return e && "function" === typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e
            })(e)
        }

        function $p(e, t) {
            for (var n = 0; n < t.length; n++) {
                var r = t[n];
                r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(e, r.key, r)
            }
        }

        function Yp(e, t) {
            return !t || "object" !== Kp(t) && "function" !== typeof t ? function(e) {
                if (void 0 === e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
                return e
            }(e) : t
        }

        function Jp(e) {
            return (Jp = Object.setPrototypeOf ? Object.getPrototypeOf : function(e) {
                return e.__proto__ || Object.getPrototypeOf(e)
            })(e)
        }

        function Qp(e, t) {
            return (Qp = Object.setPrototypeOf || function(e, t) {
                return e.__proto__ = t, e
            })(e, t)
        }

        function Xp(e, t, n, r, o) {
            var a = {};
            return Object.keys(r).forEach(function(e) {
                a[e] = r[e]
            }), a.enumerable = !!a.enumerable, a.configurable = !!a.configurable, ("value" in a || a.initializer) && (a.writable = !0), a = n.slice().reverse().reduce(function(n, r) {
                return r(e, t, n) || n
            }, a), o && void 0 !== a.initializer && (a.value = a.initializer ? a.initializer.call(o) : void 0, a.initializer = void 0), void 0 === a.initializer && (Object.defineProperty(e, t, a), a = null), a
        }
        var Zp, ef, tf, nf, rf = Object(Wt.a)(Kt.a.sidebarSpeed),
            of = {
                appear: Vp.a.enter,
                appearActive: Vp.a.enterActive,
                enter: Vp.a.enter,
                enterActive: Vp.a.enterActive,
                leave: Vp.a.leave,
                leaveActive: Vp.a.leaveActive
            },
            af = (Up = Bp = function(e) {
                function t() {
                    var e, n;
                    ! function(e, t) {
                        if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function")
                    }(this, t);
                    for (var r = arguments.length, o = new Array(r), a = 0; a < r; a++) o[a] = arguments[a];
                    return (n = Yp(this, (e = Jp(t)).call.apply(e, [this].concat(o)))).state = {
                        isOpen: !1
                    }, n
                }
                var n, r, i;
                return function(e, t) {
                    if ("function" !== typeof t && null !== t) throw new TypeError("Super expression must either be null or a function");
                    e.prototype = Object.create(t && t.prototype, {
                        constructor: {
                            value: e,
                            writable: !0,
                            configurable: !0
                        }
                    }), t && Qp(e, t)
                }(t, o["Component"]), n = t, (r = [{
                    key: "onExitClick",
                    value: function(e) {
                        e.stopPropagation(), this.closeSidebar()
                    }
                }, {
                    key: "onMenuHamburgerClick",
                    value: function() {
                        this.setState({
                            isOpen: !0
                        }), _t.a.once("key:escape", this.onExitClick), _t.a.once("closeLeftSidebar", this.onExitClick)
                    }
                }, {
                    key: "onBackdropClick",
                    value: function(e) {
                        e.stopPropagation(), this.closeSidebar()
                    }
                }, {
                    key: "onSidebarClick",
                    value: function(e) {
                        e.stopPropagation(), e.preventDefault()
                    }
                }, {
                    key: "closeSidebar",
                    value: function() {
                        this.setState({
                            isOpen: !1
                        }), _t.a.off("key:escape", this.onExitClick), _t.a.off("closeLeftSidebar", this.onExitClick)
                    }
                }, {
                    key: "render",
                    value: function() {
                        var e = this.props.children,
                            t = this.state.isOpen;
                        return a.a.createElement("div", null, a.a.createElement(Hp, {
                            containerClass: Vp.a.menuHamburgerParent,
                            tooltipDirection: Ot.b.SE,
                            tooltipText: Object(Ke.a)("Show Sidebar"),
                            themeClass: Vp.a.menuHamburger,
                            onClick: this.onMenuHamburgerClick
                        }), a.a.createElement($e.p, {
                            isOpen: t,
                            closeTimeout: rf
                        }, a.a.createElement($e.w, {
                            className: Vp.a.collapsedSidebar,
                            transitionName: of ,
                            transitionAppearTimeout: rf,
                            transitionEnterTimeout: rf,
                            transitionLeaveTimeout: rf
                        }, t && a.a.createElement("div", {
                            className: Vp.a.sidebarBackdrop,
                            onMouseUp: this.onBackdropClick
                        }, a.a.createElement("nav", {
                            ref: "sidebar",
                            className: Vp.a.sidebar,
                            onMouseUp: this.onSidebarClick
                        }, a.a.createElement(at, {
                            className: Vp.a.header,
                            noClick: !0
                        }), a.a.createElement("div", {
                            className: Vp.a.contents
                        }, a.a.createElement(Op, null), e))))))
                    }
                }]) && $p(n.prototype, r), i && $p(n, i), t
            }(), Bp.propTypes = {
                children: He.a.element.isRequired
            }, Xp((Gp = Up).prototype, "onExitClick", [vt.a], Object.getOwnPropertyDescriptor(Gp.prototype, "onExitClick"), Gp.prototype), Xp(Gp.prototype, "onMenuHamburgerClick", [vt.a], Object.getOwnPropertyDescriptor(Gp.prototype, "onMenuHamburgerClick"), Gp.prototype), Xp(Gp.prototype, "onBackdropClick", [vt.a], Object.getOwnPropertyDescriptor(Gp.prototype, "onBackdropClick"), Gp.prototype), Xp(Gp.prototype, "onSidebarClick", [vt.a], Object.getOwnPropertyDescriptor(Gp.prototype, "onSidebarClick"), Gp.prototype), Xp(Gp.prototype, "closeSidebar", [vt.a], Object.getOwnPropertyDescriptor(Gp.prototype, "closeSidebar"), Gp.prototype), Gp),
            sf = n("./app/js/components/LeftSidebar/LeftSidebar.css"),
            cf = n.n(sf);

        function uf(e) {
            return (uf = "function" === typeof Symbol && "symbol" === typeof Symbol.iterator ? function(e) {
                return typeof e
            } : function(e) {
                return e && "function" === typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e
            })(e)
        }

        function lf() {
            return (lf = Object.assign || function(e) {
                for (var t = 1; t < arguments.length; t++) {
                    var n = arguments[t];
                    for (var r in n) Object.prototype.hasOwnProperty.call(n, r) && (e[r] = n[r])
                }
                return e
            }).apply(this, arguments)
        }

        function pf(e, t) {
            for (var n = 0; n < t.length; n++) {
                var r = t[n];
                r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(e, r.key, r)
            }
        }

        function ff(e, t) {
            return !t || "object" !== uf(t) && "function" !== typeof t ? function(e) {
                if (void 0 === e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
                return e
            }(e) : t
        }

        function yf(e) {
            return (yf = Object.setPrototypeOf ? Object.getPrototypeOf : function(e) {
                return e.__proto__ || Object.getPrototypeOf(e)
            })(e)
        }

        function bf(e, t) {
            return (bf = Object.setPrototypeOf || function(e, t) {
                return e.__proto__ = t, e
            })(e, t)
        }
        var hf, df = parseFloat(wt.a.leftSidebarBreakpoint, 10),
            mf = Object(vt.d)(df)((nf = tf = function(e) {
                function t() {
                    var e, n;
                    ! function(e, t) {
                        if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function")
                    }(this, t);
                    for (var r = arguments.length, o = new Array(r), a = 0; a < r; a++) o[a] = arguments[a];
                    return (n = ff(this, (e = yf(t)).call.apply(e, [this].concat(o)))).state = {
                        offline: !!se.a && !window.navigator.onLine
                    }, n
                }
                var n, r, i;
                return function(e, t) {
                    if ("function" !== typeof t && null !== t) throw new TypeError("Super expression must either be null or a function");
                    e.prototype = Object.create(t && t.prototype, {
                        constructor: {
                            value: e,
                            writable: !0,
                            configurable: !0
                        }
                    }), t && bf(e, t)
                }(t, o["PureComponent"]), n = t, (r = [{
                    key: "componentDidMount",
                    value: function() {
                        window.addEventListener("online", this.onNetworkChange), window.addEventListener("offline", this.onNetworkChange)
                    }
                }, {
                    key: "componentWillUnmount",
                    value: function() {
                        window.removeEventListener("online", this.onNetworkChange), window.removeEventListener("offline", this.onNetworkChange)
                    }
                }, {
                    key: "onNetworkChange",
                    value: function() {
                        this.setState({
                            offline: !window.navigator.onLine
                        })
                    }
                }, {
                    key: "render",
                    value: function() {
                        var e = this.props,
                            t = e.viewport,
                            n = e.alwaysCollapseLeftSidebar,
                            r = a.a.createElement("div", {
                                className: cf.a.sidebarContents
                            }, a.a.createElement(Ve.f, null, a.a.createElement(Ve.e, {
                                path: "/library",
                                render: this._renderChild($u)
                            }), a.a.createElement(Ve.e, {
                                path: "/settings",
                                render: this._renderChild(il),
                                exact: !0
                            }), a.a.createElement(Ve.e, {
                                path: "/account",
                                render: this._renderChild(zl)
                            }), a.a.createElement(Ve.e, {
                                path: "/quiz",
                                render: this._renderChild(Xl)
                            }), a.a.createElement(Ve.e, {
                                path: "/*",
                                render: this._renderChild(Pu)
                            })), a.a.createElement(ip, {
                                className: cf.a.sponsor
                            }), this.state.offline && a.a.createElement("div", {
                                className: cf.a.offlineText
                            }, Object(Ke.a)("No Internet Connection")));
                        return n || t.width <= df ? a.a.createElement(af, null, r) : a.a.createElement("nav", {
                            ref: "sidebar",
                            className: cf.a.sidebar
                        }, a.a.createElement(Op, null), r)
                    }
                }, {
                    key: "_renderChild",
                    value: function(e) {
                        return function(t) {
                            var n = lf({}, t),
                                r = e;
                            return a.a.createElement(r, lf({}, n, {
                                className: cf.a.sidebarChild
                            }))
                        }
                    }
                }]) && pf(n.prototype, r), i && pf(n, i), t
            }(), tf.propTypes = {
                viewport: He.a.object.isRequired,
                alwaysCollapseLeftSidebar: He.a.bool.isRequired
            }, function(e, t, n, r, o) {
                var a = {};
                Object.keys(r).forEach(function(e) {
                    a[e] = r[e]
                }), a.enumerable = !!a.enumerable, a.configurable = !!a.configurable, ("value" in a || a.initializer) && (a.writable = !0), a = n.slice().reverse().reduce(function(n, r) {
                    return r(e, t, n) || n
                }, a), o && void 0 !== a.initializer && (a.value = a.initializer ? a.initializer.call(o) : void 0, a.initializer = void 0), void 0 === a.initializer && (Object.defineProperty(e, t, a), a = null)
            }((ef = nf).prototype, "onNetworkChange", [vt.a], Object.getOwnPropertyDescriptor(ef.prototype, "onNetworkChange"), ef.prototype), Zp = ef)) || Zp,
            gf = n("./app/js/components/Modal/BetaDisclaimerModal/BetaDisclaimerModal.css"),
            vf = n.n(gf);

        function _f(e) {
            return (_f = "function" === typeof Symbol && "symbol" === typeof Symbol.iterator ? function(e) {
                return typeof e
            } : function(e) {
                return e && "function" === typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e
            })(e)
        }

        function Of(e, t) {
            for (var n = 0; n < t.length; n++) {
                var r = t[n];
                r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(e, r.key, r)
            }
        }

        function jf(e, t) {
            return !t || "object" !== _f(t) && "function" !== typeof t ? function(e) {
                if (void 0 === e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
                return e
            }(e) : t
        }

        function wf(e) {
            return (wf = Object.setPrototypeOf ? Object.getPrototypeOf : function(e) {
                return e.__proto__ || Object.getPrototypeOf(e)
            })(e)
        }

        function kf(e, t) {
            return (kf = Object.setPrototypeOf || function(e, t) {
                return e.__proto__ = t, e
            })(e, t)
        }
        var Ef = (function(e, t, n, r, o) {
                var a = {};
                Object.keys(r).forEach(function(e) {
                    a[e] = r[e]
                }), a.enumerable = !!a.enumerable, a.configurable = !!a.configurable, ("value" in a || a.initializer) && (a.writable = !0), a = n.slice().reverse().reduce(function(n, r) {
                    return r(e, t, n) || n
                }, a), o && void 0 !== a.initializer && (a.value = a.initializer ? a.initializer.call(o) : void 0, a.initializer = void 0), void 0 === a.initializer && (Object.defineProperty(e, t, a), a = null)
            }((hf = function(e) {
                function t() {
                    var e, n;
                    ! function(e, t) {
                        if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function")
                    }(this, t);
                    for (var r = arguments.length, o = new Array(r), a = 0; a < r; a++) o[a] = arguments[a];
                    return (n = jf(this, (e = wf(t)).call.apply(e, [this].concat(o)))).state = {
                        isVisible: !0
                    }, n
                }
                var n, r, i;
                return function(e, t) {
                    if ("function" !== typeof t && null !== t) throw new TypeError("Super expression must either be null or a function");
                    e.prototype = Object.create(t && t.prototype, {
                        constructor: {
                            value: e,
                            writable: !0,
                            configurable: !0
                        }
                    }), t && kf(e, t)
                }(t, o["Component"]), n = t, (r = [{
                    key: "onModalClose",
                    value: function() {
                        this.setState({
                            isVisible: !1
                        })
                    }
                }, {
                    key: "render",
                    value: function() {
                        return a.a.createElement(qo, {
                            onModalClose: this.onModalClose,
                            isOpen: this.state.isVisible
                        }, a.a.createElement(Ho, {
                            titleIcon: "info-circled"
                        }, "Beta Testing"), a.a.createElement(Jo, {
                            className: vf.a.root
                        }, a.a.createElement($e.k, {
                            text: "Important Information"
                        }), a.a.createElement("div", null, "This is important information for everyone who is going to help test this software."), a.a.createElement("div", null, "First of all, many thanks for helping out, it is much appreciated."), a.a.createElement("div", null, "This software has been completely re-written from scratch, so its advisable that you leave your console window open in your browser at all times to catch any unexpected errors or informative log messages."), a.a.createElement("div", null, "I would also appreciate feedback on everything ranging from the themes to the user interface and usability."), a.a.createElement("div", null, "If you have anything to report back, either a bug or a suggestion for a change, please do so on the github issues page. Prefix the title with ", a.a.createElement("strong", null, "[VERSION2]"), " so that I can easily find it. It will be tagged up in due time."), a.a.createElement("div", null, a.a.createElement("strong", null, "When you report a bug, make sure you provide the following information:"), a.a.createElement("ol", null, a.a.createElement("li", null, "How to reproduce"), a.a.createElement("li", null, "Which browser (include version!)"), a.a.createElement("li", null, "Which operating system"), a.a.createElement("li", null, "A screenshot, log/error message, or anything else of the sort (if applicable)")), "And most importantly, please search the issues before you post something. If its already posted, please comment there instead. This saves me a lot of time."), a.a.createElement("div", null, "Please remember that this is a beta, so any data you save can, and most likely will, be removed at some point. Do not expect it to persist."), a.a.createElement("div", null, "Thank you and happy testing!")), a.a.createElement(aa, null, a.a.createElement($e.a, {
                            text: "Understood",
                            onClick: this.onModalClose,
                            type: Ot.e.CANCEL
                        })))
                    }
                }]) && Of(n.prototype, r), i && Of(n, i), t
            }()).prototype, "onModalClose", [vt.a], Object.getOwnPropertyDescriptor(hf.prototype, "onModalClose"), hf.prototype), hf),
            Sf = n("./app/js/containers/BasicContainer.css"),
            xf = n.n(Sf);

        function Cf(e) {
            return (Cf = "function" === typeof Symbol && "symbol" === typeof Symbol.iterator ? function(e) {
                return typeof e
            } : function(e) {
                return e && "function" === typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e
            })(e)
        }

        function Pf() {
            return (Pf = Object.assign || function(e) {
                for (var t = 1; t < arguments.length; t++) {
                    var n = arguments[t];
                    for (var r in n) Object.prototype.hasOwnProperty.call(n, r) && (e[r] = n[r])
                }
                return e
            }).apply(this, arguments)
        }

        function Tf(e, t) {
            if (null == e) return {};
            var n, r, o = function(e, t) {
                if (null == e) return {};
                var n, r, o = {},
                    a = Object.keys(e);
                for (r = 0; r < a.length; r++) n = a[r], t.indexOf(n) >= 0 || (o[n] = e[n]);
                return o
            }(e, t);
            if (Object.getOwnPropertySymbols) {
                var a = Object.getOwnPropertySymbols(e);
                for (r = 0; r < a.length; r++) n = a[r], t.indexOf(n) >= 0 || Object.prototype.propertyIsEnumerable.call(e, n) && (o[n] = e[n])
            }
            return o
        }

        function Rf(e, t) {
            for (var n = 0; n < t.length; n++) {
                var r = t[n];
                r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(e, r.key, r)
            }
        }

        function Nf(e, t) {
            return !t || "object" !== Cf(t) && "function" !== typeof t ? function(e) {
                if (void 0 === e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
                return e
            }(e) : t
        }

        function Mf(e) {
            return (Mf = Object.setPrototypeOf ? Object.getPrototypeOf : function(e) {
                return e.__proto__ || Object.getPrototypeOf(e)
            })(e)
        }

        function Af(e, t) {
            return (Af = Object.setPrototypeOf || function(e, t) {
                return e.__proto__ = t, e
            })(e, t)
        }
        var If = function(e) {
            function t() {
                return function(e, t) {
                    if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function")
                }(this, t), Nf(this, Mf(t).apply(this, arguments))
            }
            var n, r, i;
            return function(e, t) {
                if ("function" !== typeof t && null !== t) throw new TypeError("Super expression must either be null or a function");
                e.prototype = Object.create(t && t.prototype, {
                    constructor: {
                        value: e,
                        writable: !0,
                        configurable: !0
                    }
                }), t && Af(e, t)
            }(t, o["Component"]), n = t, (r = [{
                key: "render",
                value: function() {
                    var e = this.props,
                        t = e.className,
                        n = e.children,
                        r = e.forwardedRef,
                        o = Tf(e, ["className", "children", "forwardedRef"]);
                    return a.a.createElement("div", Pf({
                        className: Je()(xf.a.root, t),
                        ref: r
                    }, o), n)
                }
            }]) && Rf(n.prototype, r), i && Rf(n, i), t
        }();
        If.propTypes = {
            children: He.a.node,
            className: He.a.string,
            forwardedRef: He.a.any
        };
        var Lf, Df, qf, Ff = a.a.forwardRef(function(e, t) {
                return a.a.createElement(If, Pf({}, e, {
                    forwardedRef: t
                }))
            }),
            zf = n("./app/js/containers/FullscreenLayer.css"),
            Gf = n.n(zf);

        function Bf(e) {
            return (Bf = "function" === typeof Symbol && "symbol" === typeof Symbol.iterator ? function(e) {
                return typeof e
            } : function(e) {
                return e && "function" === typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e
            })(e)
        }

        function Uf(e, t) {
            for (var n = 0; n < t.length; n++) {
                var r = t[n];
                r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(e, r.key, r)
            }
        }

        function Hf(e, t) {
            return !t || "object" !== Bf(t) && "function" !== typeof t ? function(e) {
                if (void 0 === e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
                return e
            }(e) : t
        }

        function Wf(e) {
            return (Wf = Object.setPrototypeOf ? Object.getPrototypeOf : function(e) {
                return e.__proto__ || Object.getPrototypeOf(e)
            })(e)
        }

        function Vf(e, t) {
            return (Vf = Object.setPrototypeOf || function(e, t) {
                return e.__proto__ = t, e
            })(e, t)
        }

        function Kf(e, t, n, r, o) {
            var a = {};
            return Object.keys(r).forEach(function(e) {
                a[e] = r[e]
            }), a.enumerable = !!a.enumerable, a.configurable = !!a.configurable, ("value" in a || a.initializer) && (a.writable = !0), a = n.slice().reverse().reduce(function(n, r) {
                return r(e, t, n) || n
            }, a), o && void 0 !== a.initializer && (a.value = a.initializer ? a.initializer.call(o) : void 0, a.initializer = void 0), void 0 === a.initializer && (Object.defineProperty(e, t, a), a = null), a
        }
        var $f = Object(Wt.a)(Kt.a.fullscreenSpeed),
            Yf = {
                appear: Gf.a.enter,
                appearActive: Gf.a.enterActive,
                enter: Gf.a.enter,
                enterActive: Gf.a.enterActive,
                leave: Gf.a.leave,
                leaveActive: Gf.a.leaveActive
            },
            Jf = (qf = Df = function(e) {
                function t() {
                    return function(e, t) {
                        if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function")
                    }(this, t), Hf(this, Wf(t).apply(this, arguments))
                }
                var n, r, i;
                return function(e, t) {
                    if ("function" !== typeof t && null !== t) throw new TypeError("Super expression must either be null or a function");
                    e.prototype = Object.create(t && t.prototype, {
                        constructor: {
                            value: e,
                            writable: !0,
                            configurable: !0
                        }
                    }), t && Vf(e, t)
                }(t, o["Component"]), n = t, (r = [{
                    key: "componentDidMount",
                    value: function() {
                        this.props.isOpen && (_t.a.once("key:escape", this.onExitClick), _t.a.emit("disable:shortcut", cn.SAVE_REGEX))
                    }
                }, {
                    key: "componentWillReceiveProps",
                    value: function(e) {
                        e.isOpen && !this.props.isOpen ? (_t.a.once("key:escape", this.onExitClick), _t.a.emit("disable:shortcut", cn.SAVE_REGEX)) : !e.isOpen && this.props.isOpen && (_t.a.off("key:escape", this.onExitClick), _t.a.emit("enable:shortcut", cn.SAVE_REGEX))
                    }
                }, {
                    key: "componentWillUnmount",
                    value: function() {
                        _t.a.off("key:escape", this.onExitClick)
                    }
                }, {
                    key: "onExitClick",
                    value: function(e) {
                        e.stopPropagation(), this.props.onFullscreenClose ? this.props.onFullscreenClose() : this.onFullscreenClose()
                    }
                }, {
                    key: "onFullscreenClose",
                    value: function() {
                        var e = this.props.location.state,
                            t = e && e.returnTo ? e.returnTo : {
                                pathname: Object(sn.c)(this.props.location.pathname, "..")
                            };
                        t.state || (t.state = {}), t.state.returnFromFullscreen = !0, this.props.history.push(t)
                    }
                }, {
                    key: "render",
                    value: function() {
                        var e = this.props,
                            t = e.isOpen,
                            n = e.onFullscreenClose,
                            r = e.children,
                            o = e.alignment,
                            i = e.title;
                        return a.a.createElement($e.p, {
                            isOpen: t,
                            closeTimeout: $f
                        }, a.a.createElement($e.w, {
                            className: Gf.a.fullscreenContainer,
                            transitionName: Yf,
                            transitionAppearTimeout: $f,
                            transitionEnterTimeout: $f,
                            transitionLeaveTimeout: $f
                        }, t && a.a.createElement("div", {
                            className: Gf.a.opacityContainer
                        }, a.a.createElement("div", {
                            className: Gf.a.content
                        }, a.a.createElement("div", {
                            className: Je()(Gf.a.header, st.a.root)
                        }, a.a.createElement("div", {
                            className: Gf.a.title
                        }, i), a.a.createElement($e.j, {
                            className: Gf.a.exitBtn,
                            size: 32,
                            tooltip: Object(Ke.a)("Close"),
                            tooltipDirection: Ot.b.SW,
                            onClick: n || this.onFullscreenClose,
                            themeClass: Gf.a.exitBtnTheme,
                            icon: "cancel"
                        })), a.a.createElement("div", {
                            className: Je()(Gf.a.component, Gf.a[o])
                        }, r)))))
                    }
                }]) && Uf(n.prototype, r), i && Uf(n, i), t
            }(), Df.propTypes = {
                children: He.a.node,
                onFullscreenClose: He.a.func,
                alignment: He.a.oneOf(Ot.a.all),
                isOpen: He.a.bool.isRequired,
                title: He.a.string.isRequired,
                location: He.a.object.isRequired,
                history: He.a.shape({
                    push: He.a.func.isRequired
                }).isRequired
            }, Df.defaultProps = {
                alignment: Ot.a.CENTER
            }, Kf((Lf = qf).prototype, "onExitClick", [vt.a], Object.getOwnPropertyDescriptor(Lf.prototype, "onExitClick"), Lf.prototype), Kf(Lf.prototype, "onFullscreenClose", [vt.a], Object.getOwnPropertyDescriptor(Lf.prototype, "onFullscreenClose"), Lf.prototype), Lf),
            Qf = n("./app/js/utils/escape.js"),
            Xf = n("./node_modules/highlight.js/lib/highlight.js"),
            Zf = n.n(Xf);

        function ey(e) {
            return (ey = "function" === typeof Symbol && "symbol" === typeof Symbol.iterator ? function(e) {
                return typeof e
            } : function(e) {
                return e && "function" === typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e
            })(e)
        }

        function ty(e, t) {
            for (var n = 0; n < t.length; n++) {
                var r = t[n];
                r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(e, r.key, r)
            }
        }

        function ny(e, t) {
            return !t || "object" !== ey(t) && "function" !== typeof t ? function(e) {
                if (void 0 === e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
                return e
            }(e) : t
        }

        function ry(e) {
            return (ry = Object.setPrototypeOf ? Object.getPrototypeOf : function(e) {
                return e.__proto__ || Object.getPrototypeOf(e)
            })(e)
        }

        function oy(e, t) {
            return (oy = Object.setPrototypeOf || function(e, t) {
                return e.__proto__ = t, e
            })(e, t)
        }
        var ay = function(e) {
            function t() {
                return function(e, t) {
                    if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function")
                }(this, t), ny(this, ry(t).apply(this, arguments))
            }
            var n, r, s;
            return function(e, t) {
                if ("function" !== typeof t && null !== t) throw new TypeError("Super expression must either be null or a function");
                e.prototype = Object.create(t && t.prototype, {
                    constructor: {
                        value: e,
                        writable: !0,
                        configurable: !0
                    }
                }), t && oy(e, t)
            }(t, o["Component"]), n = t, s = [{
                key: "registerLanguage",
                value: function(e, t) {
                    Zf.a.registerLanguage(e, t)
                }
            }], (r = [{
                key: "componentDidMount",
                value: function() {
                    this.highlightCode()
                }
            }, {
                key: "componentDidUpdate",
                value: function() {
                    this.highlightCode()
                }
            }, {
                key: "highlightCode",
                value: function() {
                    this._code && Zf.a.highlightBlock(this._code)
                }
            }, {
                key: "render",
                value: function() {
                    var e = this;
                    return a.a.createElement("code", {
                        className: this.props.lang,
                        ref: function(t) {
                            e._code = Object(i.findDOMNode)(t)
                        }
                    }, this.props.children)
                }
            }]) && ty(n.prototype, r), s && ty(n, s), t
        }();
        ay.propTypes = {
            lang: He.a.string,
            children: He.a.string.isRequired
        };
        var iy = ay;

        function sy(e, t) {
            for (var n = 0; n < t.length; n++) {
                var r = t[n];
                r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(e, r.key, r)
            }
        }
        var cy = function() {
            function e() {
                var t = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : "";
                ! function(e, t) {
                    if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function")
                }(this, e), this.string = t, this.indentLevel = 0
            }
            var t, n, r;
            return t = e, (n = [{
                key: "indent",
                value: function(e) {
                    var t = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : 0;
                    return " ".repeat(t) + e
                }
            }, {
                key: "append",
                value: function() {
                    var e = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : "",
                        t = arguments.length > 1 ? arguments[1] : void 0;
                    this.string += this.indent("".concat(e, "\n"), this.indentLevel), null != t && (this.indentLevel = t)
                }
            }, {
                key: "toString",
                value: function() {
                    return this.string
                }
            }]) && sy(t.prototype, n), r && sy(t, r), e
        }();

        function uy(e) {
            return (uy = "function" === typeof Symbol && "symbol" === typeof Symbol.iterator ? function(e) {
                return typeof e
            } : function(e) {
                return e && "function" === typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e
            })(e)
        }

        function ly(e, t) {
            for (var n = 0; n < t.length; n++) {
                var r = t[n];
                r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(e, r.key, r)
            }
        }

        function py(e, t) {
            return !t || "object" !== uy(t) && "function" !== typeof t ? function(e) {
                if (void 0 === e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
                return e
            }(e) : t
        }

        function fy(e) {
            return (fy = Object.setPrototypeOf ? Object.getPrototypeOf : function(e) {
                return e.__proto__ || Object.getPrototypeOf(e)
            })(e)
        }

        function yy(e, t) {
            return (yy = Object.setPrototypeOf || function(e, t) {
                return e.__proto__ = t, e
            })(e, t)
        }
        iy.registerLanguage("php", n("./node_modules/highlight.js/lib/languages/php.js"));
        var by = function(e) {
            function t() {
                return function(e, t) {
                    if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function")
                }(this, t), py(this, fy(t).apply(this, arguments))
            }
            var n, r, i;
            return function(e, t) {
                if ("function" !== typeof t && null !== t) throw new TypeError("Super expression must either be null or a function");
                e.prototype = Object.create(t && t.prototype, {
                    constructor: {
                        value: e,
                        writable: !0,
                        configurable: !0
                    }
                }), t && yy(e, t)
            }(t, o["PureComponent"]), n = t, (r = [{
                key: "_escapePHPRegex",
                value: function(e, t) {
                    for (var n = "", r = 0, o = e.length; r < o; r++) switch (e.charAt(r)) {
                        case "\\":
                            "\\" === e.charAt(r + 1) ? n += "\\\\\\\\" : n += "\\" + e.charAt(r + 1), r++;
                            break;
                        case "'":
                            n += "\\'";
                            break;
                        default:
                            n += e.charAt(r)
                    }
                    return n
                }
            }, {
                key: "render",
                value: function() {
                    return a.a.createElement(iy, {
                        lang: "php"
                    }, this._renderCode())
                }
            }, {
                key: "_renderCode",
                value: function() {
                    var e = this.props,
                        t = e.regex,
                        n = e.flags,
                        r = e.delimiter,
                        o = e.testString,
                        a = e.isSubstituting,
                        i = e.substString,
                        s = e.isGlobal,
                        c = new cy,
                        u = n.replace("g", ""),
                        l = -1 === j.a[_.a.PCRE].indexOf(r) ? "/" : r;
                    return c.append("$re = '".concat(l).concat(this._escapePHPRegex(t)).concat(l).concat(u, "';")), c.append("$str = '".concat(Object(Qf.c)(o, "'", "\\"), "';")), a ? (c.append("$subst = '".concat(Object(Qf.c)(i, "'", "\\"), "';")), c.append(""), c.append("$result = preg_replace($re, $subst, $str" + (s ? "" : ", 1") + ");"), c.append(""), c.append('echo "' + Object(Ke.a)("The result of the substitution is") + ' ".$result;')) : (c.append(""), s ? c.append("preg_match_all($re, $str, $matches, PREG_SET_ORDER, 0);") : c.append("preg_match($re, $str, $matches, PREG_OFFSET_CAPTURE, 0);"), c.append(""), c.append("// Print the entire match result"), c.append("var_dump($matches);")), c.toString()
                }
            }]) && ly(n.prototype, r), i && ly(n, i), t
        }();
        by.propTypes = {
            regex: He.a.string.isRequired,
            flags: He.a.string.isRequired,
            delimiter: He.a.string.isRequired,
            testString: He.a.string.isRequired,
            isSubstituting: He.a.bool.isRequired,
            isGlobal: He.a.bool.isRequired,
            substString: He.a.string
        };
        var hy = by;

        function dy(e) {
            return (dy = "function" === typeof Symbol && "symbol" === typeof Symbol.iterator ? function(e) {
                return typeof e
            } : function(e) {
                return e && "function" === typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e
            })(e)
        }

        function my(e, t) {
            for (var n = 0; n < t.length; n++) {
                var r = t[n];
                r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(e, r.key, r)
            }
        }

        function gy(e, t) {
            return !t || "object" !== dy(t) && "function" !== typeof t ? function(e) {
                if (void 0 === e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
                return e
            }(e) : t
        }

        function vy(e) {
            return (vy = Object.setPrototypeOf ? Object.getPrototypeOf : function(e) {
                return e.__proto__ || Object.getPrototypeOf(e)
            })(e)
        }

        function _y(e, t) {
            return (_y = Object.setPrototypeOf || function(e, t) {
                return e.__proto__ = t, e
            })(e, t)
        }
        iy.registerLanguage("javascript", n("./node_modules/highlight.js/lib/languages/javascript.js"));
        var Oy = function(e) {
            function t() {
                return function(e, t) {
                    if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function")
                }(this, t), gy(this, vy(t).apply(this, arguments))
            }
            var n, r, i;
            return function(e, t) {
                if ("function" !== typeof t && null !== t) throw new TypeError("Super expression must either be null or a function");
                e.prototype = Object.create(t && t.prototype, {
                    constructor: {
                        value: e,
                        writable: !0,
                        configurable: !0
                    }
                }), t && _y(e, t)
            }(t, o["PureComponent"]), n = t, (r = [{
                key: "_getJavascriptFlags",
                value: function(e) {
                    return e.replace(new RegExp("[^".concat(ke.a[_.a.JAVASCRIPT], "]"), "g"), "")
                }
            }, {
                key: "render",
                value: function() {
                    return a.a.createElement(iy, {
                        lang: "js"
                    }, this._renderCode())
                }
            }, {
                key: "_renderCode",
                value: function() {
                    var e = this.props,
                        t = e.regex,
                        n = e.flags,
                        r = e.testString,
                        o = e.isSubstituting,
                        a = e.substString,
                        i = e.isGlobal,
                        s = new cy,
                        c = this._getJavascriptFlags(n);
                    return s.append("const regex = /".concat(t, "/").concat(c, ";")), s.append("const str = `".concat(Object(Qf.c)(r, "$", "`", "\\"), "`;")), o ? (s.append("const subst = `".concat(Object(Qf.c)(a, "`") || "", "`;")), s.append(""), s.append("// " + Object(Ke.a)("The substituted value will be contained in the result variable")), s.append("const result = str.replace(regex, subst);"), s.append(""), s.append("console.log('Substitution result: ', result);")) : (s.append("let m;"), s.append(""), s.append((i ? "while" : "if") + " ((m = regex.exec(str)) !== null) {", 4), i && (s.append("// " + Object(Ke.a)("This is necessary to avoid infinite loops with zero-width matches")), s.append("if (m.index === regex.lastIndex) {", 8), s.append("regex.lastIndex++;", 4), s.append("}"), s.append("")), s.append("// " + Object(Ke.a)("The result can be accessed through the `m`-variable.")), s.append("m.forEach((match, groupIndex) => {", 8), s.append("console.log(`Found match, group ${groupIndex}: ${match}`);", 4), s.append("});", 0), s.append("}")), s.toString()
                }
            }]) && my(n.prototype, r), i && my(n, i), t
        }();
        Oy.propTypes = {
            regex: He.a.string.isRequired,
            flags: He.a.string.isRequired,
            testString: He.a.string.isRequired,
            isSubstituting: He.a.bool.isRequired,
            isGlobal: He.a.bool.isRequired,
            substString: He.a.string
        };
        var jy = Oy;

        function wy(e) {
            return (wy = "function" === typeof Symbol && "symbol" === typeof Symbol.iterator ? function(e) {
                return typeof e
            } : function(e) {
                return e && "function" === typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e
            })(e)
        }

        function ky(e, t) {
            for (var n = 0; n < t.length; n++) {
                var r = t[n];
                r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(e, r.key, r)
            }
        }

        function Ey(e, t) {
            return !t || "object" !== wy(t) && "function" !== typeof t ? function(e) {
                if (void 0 === e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
                return e
            }(e) : t
        }

        function Sy(e) {
            return (Sy = Object.setPrototypeOf ? Object.getPrototypeOf : function(e) {
                return e.__proto__ || Object.getPrototypeOf(e)
            })(e)
        }

        function xy(e, t) {
            return (xy = Object.setPrototypeOf || function(e, t) {
                return e.__proto__ = t, e
            })(e, t)
        }
        iy.registerLanguage("python", n("./node_modules/highlight.js/lib/languages/python.js"));
        var Cy = function(e) {
            function t() {
                return function(e, t) {
                    if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function")
                }(this, t), Ey(this, Sy(t).apply(this, arguments))
            }
            var n, r, i;
            return function(e, t) {
                if ("function" !== typeof t && null !== t) throw new TypeError("Super expression must either be null or a function");
                e.prototype = Object.create(t && t.prototype, {
                    constructor: {
                        value: e,
                        writable: !0,
                        configurable: !0
                    }
                }), t && xy(e, t)
            }(t, o["PureComponent"]), n = t, (r = [{
                key: "_getMultilineString",
                value: function(e) {
                    var t = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : '"',
                        n = arguments.length > 2 && void 0 !== arguments[2] && arguments[2],
                        r = e.match(/[^\n]+\n*|\n+/g);
                    return /\n/.test(e) ? "(" + r.map(function(e) {
                        return n ? "\tr" + t + Object(Qf.b)(e, t).replace(/\n/g, "\\n") + t : "\t" + t + Object(Qf.c)(e, "\\", t).replace(/\n/g, "\\n") + t
                    }).join("\n").slice(1) + ")" : n ? "r" + t + Object(Qf.b)(e, t) + t : t + Object(Qf.c)(e, "\\", t) + t
                }
            }, {
                key: "_getFlags",
                value: function(e) {
                    return e.split("").map(function(e) {
                        switch (e) {
                            case "i":
                                return "re.IGNORECASE | ";
                            case "m":
                                return "re.MULTILINE | ";
                            case "s":
                                return "re.DOTALL | ";
                            case "u":
                                return "re.UNICODE | ";
                            case "x":
                                return "re.VERBOSE | ";
                            default:
                                return ""
                        }
                    }).join("").replace(/ \| $/, "")
                }
            }, {
                key: "_getFormattedRegex",
                value: function(e, t) {
                    return arguments.length > 2 && void 0 !== arguments[2] && arguments[2] ? "r" + (t = t.repeat(3)) + "\n" + Object(Qf.b)(e, t).trim().split("\n").map(function(e) {
                        return "\t" + e
                    }).join("\n") + "\n\t" + t : this._getMultilineString(e, t, !0)
                }
            }, {
                key: "render",
                value: function() {
                    return a.a.createElement(iy, {
                        lang: "py"
                    }, this._renderCode())
                }
            }, {
                key: "_renderCode",
                value: function() {
                    var e = this.props,
                        t = e.regex,
                        n = e.delimiter,
                        r = e.testString,
                        o = e.flags,
                        a = e.isSubstituting,
                        i = e.substString,
                        s = e.isGlobal,
                        c = new cy,
                        u = this._getFlags(o),
                        l = u ? ", " + u : "",
                        p = -1 === j.a[_.a.PYTHON].indexOf(n) || n.length > 1 ? '"' : n,
                        f = new Se.a;
                    f.flavor = _.a.PYTHON;
                    var y = -1 !== f.parse(t, {
                        delimiter: n,
                        flags: o
                    }).tokens[1].flags.indexOf("x");
                    if (c.append("# coding=utf8"), c.append("# " + Object(Ke.a)("the above tag defines encoding for this document and is for Python 2.x compatibility")), c.append(""), c.append("import re"), c.append(""), c.append("regex = ".concat(this._getFormattedRegex(t, p, y))), c.append(""), c.append("test_str = ".concat(this._getMultilineString(r))), c.append(""), a) c.append("subst = ".concat(this._getMultilineString(i))), c.append(""), c.append("# " + Object(Ke.a)("You can manually specify the number of replacements by changing the 4th argument")), c.append("result = re.sub(regex, subst, test_str, ".concat(s ? "0" : "1").concat(l, ")")), c.append(""), c.append("if result:", 4), c.append("print (result)", 0);
                    else {
                        var b;
                        c.append("matches = re.".concat(s ? "finditer" : "search", "(regex, test_str").concat(l, ")")), c.append("");
                        var h = s ? "match" : "matches";
                        s ? (b = Object(Ke.a)("Match {1} was found at {2}", "{matchNum}", "{start}-{end}"), c.append("for matchNum, match in enumerate(matches, start=1):", 4), c.append(""), c.append('print ("'.concat(b, ': {match}".format(matchNum = matchNum, start = match.start(), end = match.end(), match = match.group()))'))) : (b = Object(Ke.a)("Match was found at {1}", "{start}-{end}"), c.append("if matches:", 4), c.append('print ("'.concat(b, ': {match}".format(start = matches.start(), end = matches.end(), match = matches.group()))'))), c.append(""), c.append("for groupNum in range(0, len(".concat(h, ".groups())):"), 8), c.append("groupNum = groupNum + 1"), c.append(""), c.append('print ("'.concat(Object(Ke.a)("Group {1} found at {2}", "{groupNum}", "{start}-{end}"), ': {group}".format(groupNum = groupNum, start = ').concat(h, ".start(groupNum), end = ").concat(h, ".end(groupNum), group = ").concat(h, ".group(groupNum)))"), 0)
                    }
                    return c.append(""), c.append("# ".concat(Object(Ke.a)('Note: for Python 2.7 compatibility, use ur{1}{2} to prefix the regex and u"" to prefix the test string and substitution.', p, p))), c.toString()
                }
            }]) && ky(n.prototype, r), i && ky(n, i), t
        }();
        Cy.propTypes = {
            regex: He.a.string.isRequired,
            flags: He.a.string.isRequired,
            testString: He.a.string.isRequired,
            isSubstituting: He.a.bool.isRequired,
            isGlobal: He.a.bool.isRequired,
            substString: He.a.string,
            delimiter: He.a.string.isRequired
        };
        var Py = Cy;

        function Ty(e) {
            return (Ty = "function" === typeof Symbol && "symbol" === typeof Symbol.iterator ? function(e) {
                return typeof e
            } : function(e) {
                return e && "function" === typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e
            })(e)
        }

        function Ry(e, t) {
            for (var n = 0; n < t.length; n++) {
                var r = t[n];
                r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(e, r.key, r)
            }
        }

        function Ny(e, t) {
            return !t || "object" !== Ty(t) && "function" !== typeof t ? function(e) {
                if (void 0 === e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
                return e
            }(e) : t
        }

        function My(e) {
            return (My = Object.setPrototypeOf ? Object.getPrototypeOf : function(e) {
                return e.__proto__ || Object.getPrototypeOf(e)
            })(e)
        }

        function Ay(e, t) {
            return (Ay = Object.setPrototypeOf || function(e, t) {
                return e.__proto__ = t, e
            })(e, t)
        }
        iy.registerLanguage("csharp", n("./node_modules/highlight.js/lib/languages/cs.js"));
        var Iy = function(e) {
            function t() {
                return function(e, t) {
                    if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function")
                }(this, t), Ny(this, My(t).apply(this, arguments))
            }
            var n, r, i;
            return function(e, t) {
                if ("function" !== typeof t && null !== t) throw new TypeError("Super expression must either be null or a function");
                e.prototype = Object.create(t && t.prototype, {
                    constructor: {
                        value: e,
                        writable: !0,
                        configurable: !0
                    }
                }), t && Ay(e, t)
            }(t, o["PureComponent"]), n = t, (r = [{
                key: "_getCSharpFlags",
                value: function(e) {
                    return e.split("").map(function(e) {
                        switch (e) {
                            case "i":
                                return "RegexOptions.IgnoreCase | ";
                            case "x":
                                return "RegexOptions.IgnorePatternWhitespace | ";
                            case "m":
                                return "RegexOptions.Multiline | ";
                            case "s":
                                return "RegexOptions.Singleline | ";
                            case "n":
                                return "RegexOptions.ExplicitCapture | ";
                            case "u":
                                return "RegexOptions.CultureInvariant | ";
                            default:
                                return ""
                        }
                    }).join("").replace(/ \| $/, "")
                }
            }, {
                key: "render",
                value: function() {
                    return a.a.createElement(iy, {
                        lang: "csharp"
                    }, this._renderCode())
                }
            }, {
                key: "_renderCode",
                value: function() {
                    var e = this.props,
                        t = e.regex,
                        n = e.flags,
                        r = e.testString,
                        o = e.isSubstituting,
                        a = e.substString,
                        i = e.isGlobal,
                        s = new cy,
                        c = this._getCSharpFlags(n);
                    return s.append("using System;"), s.append("using System.Text.RegularExpressions;"), s.append(""), s.append("public class Example"), s.append("{", 4), s.append("public static void Main()"), s.append("{", 8), s.append('string pattern = @"'.concat(t.replace(/"/g, '""'), '";')), o && s.append('string substitution = @"'.concat(a.replace(/"/g, '""'), '";')), s.append('string input = @"'.concat(r.replace(/"/g, '""'), '";')), c && s.append("RegexOptions options = ".concat(c, ";")), s.append(""), o ? (s.append("Regex regex = new Regex(pattern".concat(c ? ", options" : "", ");")), s.append("string result = regex.Replace(input, substitution".concat(i ? "" : ", 1", ");"), 4)) : i ? (s.append("foreach (Match m in Regex.Matches(input, pattern".concat(c ? ", options" : "", "))")), s.append("{", 12), s.append('Console.WriteLine("'.concat(Object(Ke.a)("'{0}' found at index {1}", "{1}"), '.", m.Value, m.Index);'), 8), s.append("}", 4)) : (s.append("Match m = Regex.Match(input, pattern".concat(c ? ", options" : "", ");")), s.append('Console.WriteLine("'.concat(Object(Ke.a)("'{0}' found at index {1}", "{1}"), '", m.Value, m.Index);'), 4)), s.append("}", 0), s.append("}"), s.toString()
                }
            }]) && Ry(n.prototype, r), i && Ry(n, i), t
        }();
        Iy.propTypes = {
            regex: He.a.string.isRequired,
            flags: He.a.string.isRequired,
            testString: He.a.string.isRequired,
            isSubstituting: He.a.bool.isRequired,
            isGlobal: He.a.bool.isRequired,
            substString: He.a.string
        };
        var Ly = Iy;

        function Dy(e) {
            return (Dy = "function" === typeof Symbol && "symbol" === typeof Symbol.iterator ? function(e) {
                return typeof e
            } : function(e) {
                return e && "function" === typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e
            })(e)
        }

        function qy(e, t) {
            for (var n = 0; n < t.length; n++) {
                var r = t[n];
                r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(e, r.key, r)
            }
        }

        function Fy(e, t) {
            return !t || "object" !== Dy(t) && "function" !== typeof t ? function(e) {
                if (void 0 === e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
                return e
            }(e) : t
        }

        function zy(e) {
            return (zy = Object.setPrototypeOf ? Object.getPrototypeOf : function(e) {
                return e.__proto__ || Object.getPrototypeOf(e)
            })(e)
        }

        function Gy(e, t) {
            return (Gy = Object.setPrototypeOf || function(e, t) {
                return e.__proto__ = t, e
            })(e, t)
        }
        iy.registerLanguage("java", n("./node_modules/highlight.js/lib/languages/java.js"));
        var By = function(e) {
            function t() {
                return function(e, t) {
                    if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function")
                }(this, t), Fy(this, zy(t).apply(this, arguments))
            }
            var n, r, i;
            return function(e, t) {
                if ("function" !== typeof t && null !== t) throw new TypeError("Super expression must either be null or a function");
                e.prototype = Object.create(t && t.prototype, {
                    constructor: {
                        value: e,
                        writable: !0,
                        configurable: !0
                    }
                }), t && Gy(e, t)
            }(t, o["PureComponent"]), n = t, (r = [{
                key: "_createJavaMultilineString",
                value: function(e) {
                    var t = e.match(/[^\n]+\n*|\n+/g);
                    return t ? t.map(function(e) {
                        return '\t + "' + Object(Qf.c)(e, "\\", '"').replace(/\n/g, "\\n") + '"'
                    }).join("\n").slice(4) : '"' + Object(Qf.c)(e, "\\", '"') + '"'
                }
            }, {
                key: "_getJavaFlags",
                value: function(e) {
                    var t = this;
                    return e.split("").map(function(n) {
                        switch (n) {
                            case "i":
                                return t.props.flavor === _.a.JAVASCRIPT ? "Pattern.CASE_INSENSITIVE | Pattern.UNICODE_CASE | " : "Pattern.CASE_INSENSITIVE | ";
                            case "x":
                                return "Pattern.COMMENTS | ";
                            case "m":
                                return "Pattern.MULTILINE | ";
                            case "s":
                                return "Pattern.DOTALL | ";
                            case "u":
                                return -1 !== e.indexOf("i") ? "Pattern.UNICODE_CHARACTER_CLASS | Pattern.UNICODE_CASE |" : "Pattern.UNICODE_CHARACTER_CLASS | ";
                            default:
                                return ""
                        }
                    }).join("").replace(/ \| $/, "")
                }
            }, {
                key: "_escapeCurlyBraces",
                value: function(e) {
                    return e.replace(/((?:^|[^\\])(?:\\\\)*)(\\[pP]{[^}]+}|{\d+(?:,\d*)?}|[{}])/g, function(e, t, n) {
                        return "{" === n || "}" === n ? t + "\\" + n : t + n
                    })
                }
            }, {
                key: "render",
                value: function() {
                    return a.a.createElement(iy, {
                        lang: "java"
                    }, this._renderCode())
                }
            }, {
                key: "_renderCode",
                value: function() {
                    var e = this.props,
                        t = e.regex,
                        n = e.flags,
                        r = e.testString,
                        o = e.isSubstituting,
                        a = e.substString,
                        i = e.isGlobal,
                        s = new cy,
                        c = this._getJavaFlags(n);
                    return s.append("import java.util.regex.Matcher;"), s.append("import java.util.regex.Pattern;"), s.append(""), s.append("final String regex = ".concat(this._createJavaMultilineString(this._escapeCurlyBraces(t)), ";")), s.append("final String string = ".concat(this._createJavaMultilineString(r), ";")), o && s.append("final String subst = ".concat(this._createJavaMultilineString(a), ";")), s.append(""), "" === c ? s.append("final Pattern pattern = Pattern.compile(regex);") : s.append("final Pattern pattern = Pattern.compile(regex, ".concat(c, ");")), s.append("final Matcher matcher = pattern.matcher(string);"), s.append(""), o ? (s.append("// " + Object(Ke.a)("The substituted value will be contained in the result variable")), i ? s.append("final String result = matcher.replaceAll(subst);") : s.append("final String result = matcher.replaceFirst(subst);"), s.append(""), s.append('System.out.println("'.concat(Object(Ke.a)("Substitution result"), ': " + result);'))) : (i ? s.append("while (matcher.find()) {", 4) : s.append("if (matcher.find()) {", 4), s.append('System.out.println("'.concat(Object(Ke.a)("Full match"), ': " + matcher.group(0));')), s.append("for (int i = 1; i <= matcher.groupCount(); i++) {", 8), s.append('System.out.println("'.concat(Object(Ke.a)("Group"), ' " + i + ": " + matcher.group(i));'), 4), s.append("}", 0), s.append("}")), s.toString()
                }
            }]) && qy(n.prototype, r), i && qy(n, i), t
        }();
        By.propTypes = {
            regex: He.a.string.isRequired,
            flags: He.a.string.isRequired,
            testString: He.a.string.isRequired,
            isSubstituting: He.a.bool.isRequired,
            isGlobal: He.a.bool.isRequired,
            substString: He.a.string.isRequired,
            flavor: He.a.string.isRequired
        };
        var Uy = By;

        function Hy(e) {
            return (Hy = "function" === typeof Symbol && "symbol" === typeof Symbol.iterator ? function(e) {
                return typeof e
            } : function(e) {
                return e && "function" === typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e
            })(e)
        }

        function Wy(e, t) {
            for (var n = 0; n < t.length; n++) {
                var r = t[n];
                r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(e, r.key, r)
            }
        }

        function Vy(e, t) {
            return !t || "object" !== Hy(t) && "function" !== typeof t ? function(e) {
                if (void 0 === e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
                return e
            }(e) : t
        }

        function Ky(e) {
            return (Ky = Object.setPrototypeOf ? Object.getPrototypeOf : function(e) {
                return e.__proto__ || Object.getPrototypeOf(e)
            })(e)
        }

        function $y(e, t) {
            return ($y = Object.setPrototypeOf || function(e, t) {
                return e.__proto__ = t, e
            })(e, t)
        }
        iy.registerLanguage("ruby", n("./node_modules/highlight.js/lib/languages/ruby.js"));
        var Yy = function(e) {
            function t() {
                return function(e, t) {
                    if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function")
                }(this, t), Vy(this, Ky(t).apply(this, arguments))
            }
            var n, r, i;
            return function(e, t) {
                if ("function" !== typeof t && null !== t) throw new TypeError("Super expression must either be null or a function");
                e.prototype = Object.create(t && t.prototype, {
                    constructor: {
                        value: e,
                        writable: !0,
                        configurable: !0
                    }
                }), t && $y(e, t)
            }(t, o["PureComponent"]), n = t, (r = [{
                key: "render",
                value: function() {
                    return a.a.createElement(iy, {
                        lang: "ruby"
                    }, this._renderCode())
                }
            }, {
                key: "_renderCode",
                value: function() {
                    var e = this.props,
                        t = e.regex,
                        n = e.flags,
                        r = e.testString,
                        o = e.isSubstituting,
                        a = e.substString,
                        i = e.isGlobal,
                        s = new cy,
                        c = n.replace(/[^ixmo]/g, "");
                    return s.append("re = /" + Object(Qf.b)(t, "/") + "/" + c), s.append("str = '".concat(Object(Qf.c)(r, "\\", "'"), "'")), o ? (s.append("subst = '".concat(Object(Qf.c)(a, "\\", "'"), "'")), s.append(""), s.append("result = str." + (i ? "g" : "") + "sub(re, subst)"), s.append(""), s.append("# " + Object(Ke.a)("Print the result of the substitution")), s.append("puts result")) : (s.append(""), s.append("# " + Object(Ke.a)("Print the match result")), i ? (s.append("str.scan(re) do |match|", 4), s.append("puts match.to_s", 0), s.append("end")) : (s.append("str.match(re) do |match|", 4), s.append("puts match.to_s", 0), s.append("end"))), s.toString()
                }
            }]) && Wy(n.prototype, r), i && Wy(n, i), t
        }();
        Yy.propTypes = {
            regex: He.a.string.isRequired,
            flags: He.a.string.isRequired,
            testString: He.a.string.isRequired,
            isSubstituting: He.a.bool.isRequired,
            isGlobal: He.a.bool.isRequired,
            substString: He.a.string
        };
        var Jy = Yy;

        function Qy(e) {
            return (Qy = "function" === typeof Symbol && "symbol" === typeof Symbol.iterator ? function(e) {
                return typeof e
            } : function(e) {
                return e && "function" === typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e
            })(e)
        }

        function Xy(e, t) {
            for (var n = 0; n < t.length; n++) {
                var r = t[n];
                r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(e, r.key, r)
            }
        }

        function Zy(e, t) {
            return !t || "object" !== Qy(t) && "function" !== typeof t ? function(e) {
                if (void 0 === e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
                return e
            }(e) : t
        }

        function eb(e) {
            return (eb = Object.setPrototypeOf ? Object.getPrototypeOf : function(e) {
                return e.__proto__ || Object.getPrototypeOf(e)
            })(e)
        }

        function tb(e, t) {
            return (tb = Object.setPrototypeOf || function(e, t) {
                return e.__proto__ = t, e
            })(e, t)
        }
        iy.registerLanguage("rust", n("./node_modules/highlight.js/lib/languages/rust.js"));
        var nb = function(e) {
            function t() {
                return function(e, t) {
                    if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function")
                }(this, t), Zy(this, eb(t).apply(this, arguments))
            }
            var n, r, i;
            return function(e, t) {
                if ("function" !== typeof t && null !== t) throw new TypeError("Super expression must either be null or a function");
                e.prototype = Object.create(t && t.prototype, {
                    constructor: {
                        value: e,
                        writable: !0,
                        configurable: !0
                    }
                }), t && tb(e, t)
            }(t, o["PureComponent"]), n = t, (r = [{
                key: "render",
                value: function() {
                    return a.a.createElement(iy, {
                        lang: "rust"
                    }, this._renderCode())
                }
            }, {
                key: "_renderCode",
                value: function() {
                    var e = this.props,
                        t = e.regex,
                        n = e.flags,
                        r = e.testString,
                        o = e.isSubstituting,
                        a = e.substString,
                        i = e.isGlobal,
                        s = new cy,
                        c = 0 === n.replace("g", "").length ? "" : "(?" + n.replace(/[^imsUux]/g, "") + ")",
                        u = (t.match(/"#*/g) || [""]).reduce(function(e, t) {
                            return e.length > t.length ? e : t
                        }).length,
                        l = "#".repeat(u);
                    return s.append("// " + Object(Ke.a)("include the latest version of the regex crate in your Cargo.toml")), s.append("extern crate regex;"), s.append(""), s.append("use regex::Regex;"), s.append(""), s.append("fn main() {", 2), s.append("let regex = Regex::new(r".concat(l, '"').concat(c + t, '"').concat(l, ").unwrap();"), 2), s.append('let string = "'.concat(Object(Qf.c)(r, "\\", '"'), '";')), o ? (s.append('let substitution = "'.concat(Object(Qf.c)(a, "\\", '"'), '";')), s.append(""), s.append("// " + Object(Ke.a)("result will be a String with the substituted value")), s.append("let result = regex.replace" + (i ? "_all" : "") + "(string, substitution);"), s.append(""), s.append('println!("{}", result);', 0)) : (s.append(""), i ? s.append("// " + Object(Ke.a)("result will be an iterator over tuples containing the start and end indices for each match in the string")) : s.append("// " + Object(Ke.a)("result will be a tuple containing the start and end indices for the first match in the string")), s.append("let result = regex.find" + (i ? "_iter" : "") + "(string);"), s.append(""), i ? (s.append("for mat in result {", 4), s.append('println!("{:?}", mat);', 2), s.append("}", 0)) : (s.append("let (start, end) = match result {", 4), s.append("Some((s, e)) => (s, e),"), s.append("None => {", 8), s.append("// ...", 4), s.append("}", 2), s.append("};"), s.append(""), s.append(""), s.append('println!("{}", &string[start, end]);', 0))), s.append("}"), s.toString()
                }
            }]) && Xy(n.prototype, r), i && Xy(n, i), t
        }();
        nb.propTypes = {
            regex: He.a.string.isRequired,
            flags: He.a.string.isRequired,
            testString: He.a.string.isRequired,
            isSubstituting: He.a.bool.isRequired,
            isGlobal: He.a.bool.isRequired,
            substString: He.a.string
        };
        var rb = nb;

        function ob(e) {
            return (ob = "function" === typeof Symbol && "symbol" === typeof Symbol.iterator ? function(e) {
                return typeof e
            } : function(e) {
                return e && "function" === typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e
            })(e)
        }

        function ab(e, t) {
            for (var n = 0; n < t.length; n++) {
                var r = t[n];
                r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(e, r.key, r)
            }
        }

        function ib(e, t) {
            return !t || "object" !== ob(t) && "function" !== typeof t ? function(e) {
                if (void 0 === e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
                return e
            }(e) : t
        }

        function sb(e) {
            return (sb = Object.setPrototypeOf ? Object.getPrototypeOf : function(e) {
                return e.__proto__ || Object.getPrototypeOf(e)
            })(e)
        }

        function cb(e, t) {
            return (cb = Object.setPrototypeOf || function(e, t) {
                return e.__proto__ = t, e
            })(e, t)
        }
        iy.registerLanguage("go", n("./node_modules/highlight.js/lib/languages/go.js"));
        var ub = function(e) {
            function t() {
                return function(e, t) {
                    if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function")
                }(this, t), ib(this, sb(t).apply(this, arguments))
            }
            var n, r, i;
            return function(e, t) {
                if ("function" !== typeof t && null !== t) throw new TypeError("Super expression must either be null or a function");
                e.prototype = Object.create(t && t.prototype, {
                    constructor: {
                        value: e,
                        writable: !0,
                        configurable: !0
                    }
                }), t && cb(e, t)
            }(t, o["PureComponent"]), n = t, (r = [{
                key: "_getGoLangFlags",
                value: function(e) {
                    return e.replace(new RegExp("g|[^".concat(ke.a[_.a.GOLANG], "]"), "g"), "")
                }
            }, {
                key: "render",
                value: function() {
                    return a.a.createElement(iy, {
                        lang: "go"
                    }, this._renderCode())
                }
            }, {
                key: "_renderCode",
                value: function() {
                    var e = this.props,
                        t = e.regex,
                        n = e.flags,
                        r = e.testString,
                        o = e.isSubstituting,
                        a = e.substString,
                        i = e.isGlobal,
                        s = new cy,
                        c = this._getGoLangFlags(n),
                        u = c ? "(?".concat(c, ")") : "";
                    return s.append("package main"), s.append(""), s.append("import (", 4), s.append('"regexp"'), s.append('"fmt"', 0), s.append(")"), s.append(""), s.append("func main() {", 4), s.append("var re = regexp.MustCompile(`".concat(u).concat(t, "`)")), o && !i ? (s.append("var str = []byte(`".concat(Object(Qf.c)(r, "`"), "`)")), s.append('var substitution = []byte("'.concat(a, '")')), s.append("var i = 0"), s.append("var count = 1"), s.append(""), s.append("str = re.ReplaceAllFunc(str, func(s []byte) []byte {", 8), s.append("if count < 0 {", 12), s.append("return substitution", 8), s.append("} else if i < count {", 12), s.append("i += 1"), s.append(""), s.append("return substitution", 8), s.append("}"), s.append(""), s.append("return s", 4), s.append("})"), s.append(""), s.append("fmt.Println(string(str))", 0)) : o ? (s.append("var str = `".concat(Object(Qf.c)(r, "`"), "`")), s.append('var substitution = "'.concat(a, '"')), s.append(""), s.append("fmt.Println(re.ReplaceAllString(str, substitution))", 0)) : i ? (s.append("var str = `".concat(Object(Qf.c)(r, "`"), "`")), s.append(""), s.append("for i, match := range re.FindAllString(str, -1) {", 8), s.append('fmt.Println(match, "found at index", i)', 4), s.append("}", 0)) : (s.append("var str = `".concat(Object(Qf.c)(r, "`"), "`")), s.append(""), s.append("if len(re.FindStringIndex(str)) > 0 {", 8), s.append('fmt.Println(re.FindString(str),"found at index",re.FindStringIndex(str)[0])', 4), s.append("}", 0)), s.append("}"), s.toString()
                }
            }]) && ab(n.prototype, r), i && ab(n, i), t
        }();
        ub.propTypes = {
            regex: He.a.string.isRequired,
            flags: He.a.string.isRequired,
            testString: He.a.string.isRequired,
            isSubstituting: He.a.bool.isRequired,
            isGlobal: He.a.bool.isRequired,
            substString: He.a.string
        };
        var lb = ub;

        function pb(e) {
            return (pb = "function" === typeof Symbol && "symbol" === typeof Symbol.iterator ? function(e) {
                return typeof e
            } : function(e) {
                return e && "function" === typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e
            })(e)
        }

        function fb(e, t) {
            for (var n = 0; n < t.length; n++) {
                var r = t[n];
                r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(e, r.key, r)
            }
        }

        function yb(e, t) {
            return !t || "object" !== pb(t) && "function" !== typeof t ? function(e) {
                if (void 0 === e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
                return e
            }(e) : t
        }

        function bb(e) {
            return (bb = Object.setPrototypeOf ? Object.getPrototypeOf : function(e) {
                return e.__proto__ || Object.getPrototypeOf(e)
            })(e)
        }

        function hb(e, t) {
            return (hb = Object.setPrototypeOf || function(e, t) {
                return e.__proto__ = t, e
            })(e, t)
        }
        iy.registerLanguage("perl", n("./node_modules/highlight.js/lib/languages/perl.js"));
        var db = function(e) {
            function t() {
                return function(e, t) {
                    if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function")
                }(this, t), yb(this, bb(t).apply(this, arguments))
            }
            var n, r, i;
            return function(e, t) {
                if ("function" !== typeof t && null !== t) throw new TypeError("Super expression must either be null or a function");
                e.prototype = Object.create(t && t.prototype, {
                    constructor: {
                        value: e,
                        writable: !0,
                        configurable: !0
                    }
                }), t && hb(e, t)
            }(t, o["PureComponent"]), n = t, (r = [{
                key: "render",
                value: function() {
                    return a.a.createElement(iy, {
                        lang: "perl"
                    }, this._renderCode())
                }
            }, {
                key: "_renderCode",
                value: function() {
                    var e = this.props,
                        t = e.regex,
                        n = e.flags,
                        r = e.delimiter,
                        o = e.testString,
                        a = e.isSubstituting,
                        i = e.substString,
                        s = e.isGlobal,
                        c = new cy,
                        u = n.replace(/[A-Zg]/g, ""),
                        l = -1 === j.a[_.a.PCRE].indexOf(r) ? "/" : r;
                    return c.append("use strict;"), c.append(""), c.append("my $str = '".concat(Object(Qf.c)(o, "'", "\\"), "';")), c.append("my $regex = qr".concat(l).concat(t).concat(l).concat(u, "p;")), a ? (c.append("my $subst = '".concat(Object(Qf.c)(i, "'", "\\"), "';")), c.append(""), c.append("my $result = $str =~ s".concat(l, "$regex").concat(l, "$subst").concat(l, "r") + (s ? "g" : "") + ";"), c.append(""), c.append('print "'.concat(Object(Ke.a)("The result of the substitution is"), "' $result\\n\";"))) : (c.append(""), c.append("if ( $str =~ /$regex/" + (s ? "g" : "") + " ) {", 2), c.append('print "'.concat(Object(Ke.a)("Whole match is {1} and its start/end positions can be obtained via {2} and {3}", "${^MATCH}", "\\$-[0]", "\\$+[0]"), '\\n";')), c.append('# print "'.concat(Object(Ke.a)("Capture Group {1} is {2} and its start/end positions can be obtained via {3} and {4}", "1", "$1", "\\$-[1]", "\\$+[1]"), '\\n";')), c.append('# print "'.concat(Object(Ke.a)("Capture Group {1} is {2} ... and so on", "2", "$2"), '\\n";'), 0), c.append("}"), c.append(""), c.append("# ".concat(Object(Ke.a)("{1} and {2} are also available with the use of '{3}'", "${^POSTMATCH}", "${^PREMATCH}", "/p"))), c.append("# ".concat(Object(Ke.a)("Named capture groups can be called via {1}", "$+{name}")))), c.toString()
                }
            }]) && fb(n.prototype, r), i && fb(n, i), t
        }();
        db.propTypes = {
            regex: He.a.string.isRequired,
            flags: He.a.string.isRequired,
            delimiter: He.a.string.isRequired,
            testString: He.a.string.isRequired,
            isSubstituting: He.a.bool.isRequired,
            substString: He.a.string,
            isGlobal: He.a.bool.isRequired
        };
        var mb = db;

        function gb(e) {
            return (gb = "function" === typeof Symbol && "symbol" === typeof Symbol.iterator ? function(e) {
                return typeof e
            } : function(e) {
                return e && "function" === typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e
            })(e)
        }

        function vb(e, t) {
            for (var n = 0; n < t.length; n++) {
                var r = t[n];
                r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(e, r.key, r)
            }
        }

        function _b(e, t) {
            return !t || "object" !== gb(t) && "function" !== typeof t ? function(e) {
                if (void 0 === e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
                return e
            }(e) : t
        }

        function Ob(e) {
            return (Ob = Object.setPrototypeOf ? Object.getPrototypeOf : function(e) {
                return e.__proto__ || Object.getPrototypeOf(e)
            })(e)
        }

        function jb(e, t) {
            return (jb = Object.setPrototypeOf || function(e, t) {
                return e.__proto__ = t, e
            })(e, t)
        }
        iy.registerLanguage("autoit", n("./node_modules/highlight.js/lib/languages/autoit.js"));
        var wb = function(e) {
            function t() {
                return function(e, t) {
                    if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function")
                }(this, t), _b(this, Ob(t).apply(this, arguments))
            }
            var n, r, i;
            return function(e, t) {
                if ("function" !== typeof t && null !== t) throw new TypeError("Super expression must either be null or a function");
                e.prototype = Object.create(t && t.prototype, {
                    constructor: {
                        value: e,
                        writable: !0,
                        configurable: !0
                    }
                }), t && jb(e, t)
            }(t, o["PureComponent"]), n = t, (r = [{
                key: "render",
                value: function() {
                    return a.a.createElement(iy, {
                        lang: "autoit"
                    }, this._renderCode())
                }
            }, {
                key: "_renderCode",
                value: function() {
                    var e = this.props,
                        t = e.regex,
                        n = e.flags,
                        r = e.testString,
                        o = e.isSubstituting,
                        a = e.substString,
                        i = e.isGlobal,
                        s = new cy,
                        c = n.replace("g", ""),
                        u = r.replace(/\n/g, '" & @CRLF & _\n                "'),
                        l = a.replace(/\n/g, '" & @CRLF & _\n                "');
                    return o ? s.append("#include <MsgBoxConstants.au3> ; to declare the Constants of MsgBox") : (s.append("#include <StringConstants.au3> ; to declare the Constants of StringRegExp"), s.append("#include <Array.au3> ; UDF needed for _ArrayDisplay")), s.append(""), s.append('Local $sRegex = "(?'.concat(c, ")").concat(Object(Qf.b)(t, '"'), '"')), s.append('Local $sString = "'.concat(Object(Qf.c)(u, "'", "\\", '"'), '"')), o ? (s.append('Local $sSubst = "'.concat(Object(Qf.c)(l, "'", "\\", '"'), '"')), s.append(""), s.append("Local $sResult = StringRegExpReplace($sString, $sRegex, $sSubst)"), s.append(""), s.append('MsgBox($MB_SYSTEMMODAL, "Result", $sResult)')) : (s.append(""), i ? (s.append("Local $aArray = StringRegExp($sString, $sRegex, $STR_REGEXPARRAYGLOBALFULLMATCH)"), s.append("Local $aFullArray[0]"), s.append("For $i = 0 To UBound($aArray) -1"), s.append("    _ArrayConcatenate($aFullArray, $aArray[$i])"), s.append("Next"), s.append("$aArray = $aFullArray")) : s.append("Local $aArray = StringRegExp($sString, $sRegex, $STR_REGEXPARRAYFULLMATCH)"), s.append(""), s.append("; Present the entire match result"), s.append('_ArrayDisplay($aArray, "Result")')), s.toString()
                }
            }]) && vb(n.prototype, r), i && vb(n, i), t
        }();
        wb.propTypes = {
            regex: He.a.string.isRequired,
            flags: He.a.string.isRequired,
            testString: He.a.string.isRequired,
            isSubstituting: He.a.bool.isRequired,
            isGlobal: He.a.bool.isRequired,
            substString: He.a.string
        };
        var kb = wb;

        function Eb(e) {
            return (Eb = "function" === typeof Symbol && "symbol" === typeof Symbol.iterator ? function(e) {
                return typeof e
            } : function(e) {
                return e && "function" === typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e
            })(e)
        }

        function Sb(e, t) {
            for (var n = 0; n < t.length; n++) {
                var r = t[n];
                r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(e, r.key, r)
            }
        }

        function xb(e, t) {
            return !t || "object" !== Eb(t) && "function" !== typeof t ? function(e) {
                if (void 0 === e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
                return e
            }(e) : t
        }

        function Cb(e) {
            return (Cb = Object.setPrototypeOf ? Object.getPrototypeOf : function(e) {
                return e.__proto__ || Object.getPrototypeOf(e)
            })(e)
        }

        function Pb(e, t) {
            return (Pb = Object.setPrototypeOf || function(e, t) {
                return e.__proto__ = t, e
            })(e, t)
        }
        var Tb = function(e) {
            function t() {
                return function(e, t) {
                    if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function")
                }(this, t), xb(this, Cb(t).apply(this, arguments))
            }
            var n, r, i;
            return function(e, t) {
                if ("function" !== typeof t && null !== t) throw new TypeError("Super expression must either be null or a function");
                e.prototype = Object.create(t && t.prototype, {
                    constructor: {
                        value: e,
                        writable: !0,
                        configurable: !0
                    }
                }), t && Pb(e, t)
            }(t, o["PureComponent"]), n = t, (r = [{
                key: "render",
                value: function() {
                    return a.a.createElement(iy, {
                        lang: "common"
                    }, this._renderCode())
                }
            }, {
                key: "_renderCode",
                value: function() {
                    var e = this.props,
                        t = e.regex,
                        n = e.flags,
                        r = e.testString,
                        o = e.isSubstituting,
                        a = e.substString,
                        i = new cy;
                    if (o) {
                        var s = Object(Qf.c)(r, '"'),
                            c = Object(Qf.c)(t, "/"),
                            u = Object(Qf.c)(a, "/");
                        i.append("sed -E 's/".concat(c, "/").concat(u, "/").concat(n, ";t;d' <<< \"").concat(s, '"'))
                    } else i.append(Object(Ke.a)("This generator only supports substitution. Please update your regular expression accordingly"));
                    return i.toString()
                }
            }]) && Sb(n.prototype, r), i && Sb(n, i), t
        }();
        Tb.propTypes = {
            regex: He.a.string.isRequired,
            flags: He.a.string.isRequired,
            delimiter: He.a.string.isRequired,
            testString: He.a.string.isRequired,
            isSubstituting: He.a.bool.isRequired,
            isGlobal: He.a.bool.isRequired,
            substString: He.a.string
        };
        var Rb = Tb;

        function Nb(e) {
            return (Nb = "function" === typeof Symbol && "symbol" === typeof Symbol.iterator ? function(e) {
                return typeof e
            } : function(e) {
                return e && "function" === typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e
            })(e)
        }

        function Mb(e, t) {
            for (var n = 0; n < t.length; n++) {
                var r = t[n];
                r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(e, r.key, r)
            }
        }

        function Ab(e, t) {
            return !t || "object" !== Nb(t) && "function" !== typeof t ? function(e) {
                if (void 0 === e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
                return e
            }(e) : t
        }

        function Ib(e) {
            return (Ib = Object.setPrototypeOf ? Object.getPrototypeOf : function(e) {
                return e.__proto__ || Object.getPrototypeOf(e)
            })(e)
        }

        function Lb(e, t) {
            return (Lb = Object.setPrototypeOf || function(e, t) {
                return e.__proto__ = t, e
            })(e, t)
        }
        var Db = function(e) {
            function t() {
                return function(e, t) {
                    if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function")
                }(this, t), Ab(this, Ib(t).apply(this, arguments))
            }
            var n, r, i;
            return function(e, t) {
                if ("function" !== typeof t && null !== t) throw new TypeError("Super expression must either be null or a function");
                e.prototype = Object.create(t && t.prototype, {
                    constructor: {
                        value: e,
                        writable: !0,
                        configurable: !0
                    }
                }), t && Lb(e, t)
            }(t, o["PureComponent"]), n = t, (r = [{
                key: "_escapeSwiftString",
                value: function() {
                    var e = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : "",
                        t = /\n/.test(e),
                        n = (e.match(/#+/g) || []).reduce(function(e, t) {
                            return t.length > e ? t.length : e
                        }, 0),
                        r = "#".repeat(n + 1),
                        o = r;
                    return o += t ? '"""\n' : '"', o += e, o += t ? '\n"""' : '"', o += r
                }
            }, {
                key: "render",
                value: function() {
                    return a.a.createElement(iy, {
                        lang: "swift"
                    }, this._renderCode())
                }
            }, {
                key: "_renderCode",
                value: function() {
                    var e = this.props,
                        t = e.regex,
                        n = e.flags,
                        r = e.testString,
                        o = e.isSubstituting,
                        a = e.substString,
                        i = e.isGlobal,
                        s = new cy,
                        c = [],
                        u = n.replace(/[gmixs]/g, "");
                    n.includes("m") && c.push(".anchorsMatchLines"), n.includes("i") && c.push(".caseInsensitive"), n.includes("x") && c.push(".allowCommentsAndWhitespace"), n.includes("s") && c.push(".dotMatchesLineSeparators");
                    var l = "";
                    return 1 === c.length ? (l += ", options: ", l += c[0]) : c.length > 1 && (l += ", options: [", l += c.join(", "), l += "]"), s.append("import Foundation"), s.append(), u.length > 0 && (u.indexOf("X") > -1 && (s.append("// WARNING: You included a flag that Swift doesn't support: X"), s.append("//          When this flag is set, it causes any backslash in the pattern that is followed by a letter that has no special meaning to cause an error."), s.append("//          By default in Swift, a backslash followed by a letter with no special meaning will be treated as a literal.")), u.indexOf("u") > -1 && (s.append("// WARNING: You included a flag that Swift doesn't support: u"), s.append("//          When this flag is set, it makes the pattern and subject strings to be treated as unicode."), s.append("//          Swift already treats the pattern and subject strings as unicode by default, so including this flag is redundant.")), u.indexOf("J") > -1 && (s.append("// WARNING: You included a flag that Swift doesn't support: J"), s.append("//          Wehn this flag is set, it allows duplicated capturing group names."), s.append("//          By default, Swift captures only the last value matched for a repeated capture group."), s.append("//          As an alternative, the pattern can be modified to contain one capturing group per group you want to get in the result.")), u.indexOf("A") > -1 && (s.append("// WARNING: You included a flag that Swift doesn't support: A"), s.append('//          When this flag is set, it causes the pattern to be "anchored", that is, it is constrained to match only at the start of the string which is being searched (the "subject string").'), s.append("//          As an alternative, this effect can also be achieved by appropriate constructs in the pattern itself.")), u.indexOf("U") > -1 && (s.append("// WARNING: You included a flag that Swift doesn't support: U"), s.append("//          When this flag is set, it inverts the \"greediness\" of the quantifiers so that they are not greedy by default, but become greedy if followed by '?'."), s.append("//          As an alternative, this effect can also be achieved by setting a (?U) modifier setting within the pattern or by a question mark behind a quantifier (e.g. .*?).")), u.indexOf("D") > -1 && (s.append("// WARNING: You included a flag that Swift doesn't support: D"), s.append("//          When this flag is set, it forces the a dollar sign ('$'), to always match end of the string, instead of end of the line. This option is ignored if the 'm' flag is set."), s.append("//          There's no equivalent implementation of this flag in Swift, but you may want to check the 'm' flag instead.")), s.append()), s.append("let pattern = ".concat(this._escapeSwiftString(t.toString()))), s.append("let regex = try! NSRegularExpression(pattern: pattern".concat(l, ")")), s.append("let testString = ".concat(this._escapeSwiftString(r))), s.append("let stringRange = NSRange(location: 0, length: testString.utf16.count)"), o ? (s.append("let substitutionString = ".concat(this._escapeSwiftString(a))), i ? (s.append("let result = regex.stringByReplacingMatches(in: testString, range: stringRange, withTemplate: substitutionString)"), s.append("print(result)")) : (s.append("let lookupRange = (testString as NSString).range(of: pattern, options: .regularExpression, range: stringRange)"), s.append("if lookupRange.intersection(stringRange) != nil {", 4), s.append("let result = regex.stringByReplacingMatches(in: testString, range: lookupRange, withTemplate: substitutionString)"), s.append("print(result)", 0), s.append("} else {", 4), s.append('print("No matches were found.")', 0), s.append("}"))) : i ? (s.append("let matches = regex.matches(in: testString, range: stringRange)"), s.append("var result: [[String]] = []"), s.append("for match in matches {", 4), s.append("var groups: [String] = []"), s.append("for rangeIndex in 1 ..< match.numberOfRanges {", 8), s.append("groups.append((testString as NSString).substring(with: match.range(at: rangeIndex)))", 4), s.append("}"), s.append("if !groups.isEmpty {", 8), s.append("result.append(groups)", 4), s.append("}", 0), s.append("}"), s.append("print(result)")) : (s.append("if let firstMatch = regex.firstMatch(in: testString, range: stringRange) {", 4), s.append("let result: [String] = (1 ..< firstMatch.numberOfRanges).map { (testString as NSString).substring(with: firstMatch.range(at: $0)) }"), s.append("print(result)", 0), s.append("} else {", 4), s.append('print("No matches were found.")', 0), s.append("}")), s.toString()
                }
            }]) && Mb(n.prototype, r), i && Mb(n, i), t
        }();
        Db.propTypes = {
            regex: He.a.string.isRequired,
            flags: He.a.string.isRequired,
            delimiter: He.a.string.isRequired,
            testString: He.a.string.isRequired,
            isSubstituting: He.a.bool.isRequired,
            isGlobal: He.a.bool.isRequired,
            substString: He.a.string
        };
        var qb, Fb, zb, Gb, Bb = Db,
            Ub = n("./app/js/components/CodeGenerator/CodeGenerator.css"),
            Hb = n.n(Ub);

        function Wb(e) {
            return (Wb = "function" === typeof Symbol && "symbol" === typeof Symbol.iterator ? function(e) {
                return typeof e
            } : function(e) {
                return e && "function" === typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e
            })(e)
        }

        function Vb() {
            return (Vb = Object.assign || function(e) {
                for (var t = 1; t < arguments.length; t++) {
                    var n = arguments[t];
                    for (var r in n) Object.prototype.hasOwnProperty.call(n, r) && (e[r] = n[r])
                }
                return e
            }).apply(this, arguments)
        }

        function Kb(e, t) {
            for (var n = 0; n < t.length; n++) {
                var r = t[n];
                r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(e, r.key, r)
            }
        }

        function $b(e, t) {
            return !t || "object" !== Wb(t) && "function" !== typeof t ? function(e) {
                if (void 0 === e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
                return e
            }(e) : t
        }

        function Yb(e) {
            return (Yb = Object.setPrototypeOf ? Object.getPrototypeOf : function(e) {
                return e.__proto__ || Object.getPrototypeOf(e)
            })(e)
        }

        function Jb(e, t) {
            return (Jb = Object.setPrototypeOf || function(e, t) {
                return e.__proto__ = t, e
            })(e, t)
        }

        function Qb(e, t, n, r, o) {
            var a = {};
            return Object.keys(r).forEach(function(e) {
                a[e] = r[e]
            }), a.enumerable = !!a.enumerable, a.configurable = !!a.configurable, ("value" in a || a.initializer) && (a.writable = !0), a = n.slice().reverse().reduce(function(n, r) {
                return r(e, t, n) || n
            }, a), o && void 0 !== a.initializer && (a.value = a.initializer ? a.initializer.call(o) : void 0, a.initializer = void 0), void 0 === a.initializer && (Object.defineProperty(e, t, a), a = null), a
        }
        var Xb = Object(We.b)(function(e) {
                return {
                    regex: e.regexEditor.regex,
                    flags: e.regexEditor.flags,
                    delimiter: e.regexEditor.delimiter,
                    testString: e.regexEditor.testString,
                    isSubstituting: e.regexEditor.showSubstitutionArea,
                    substString: e.regexEditor.substString,
                    flavor: e.regexEditor.flavor
                }
            })((Gb = zb = function(e) {
                function t() {
                    var e, n;
                    ! function(e, t) {
                        if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function")
                    }(this, t);
                    for (var r = arguments.length, o = new Array(r), a = 0; a < r; a++) o[a] = arguments[a];
                    return (n = $b(this, (e = Yb(t)).call.apply(e, [this].concat(o))))._codeComponent = null, n._languages = [{
                        query: ln,
                        string: "JavaScript",
                        component: jy,
                        referencePage: "https://developer.mozilla.org/en/docs/Web/JavaScript/Guide/Regular_Expressions"
                    }, {
                        query: pn,
                        string: "PHP",
                        component: hy,
                        referencePage: "http://php.net/manual/en/ref.pcre.php"
                    }, {
                        query: fn,
                        string: "Python",
                        component: Py,
                        referencePage: "https://docs.python.org/3/library/re.html"
                    }, {
                        query: yn,
                        string: "C#",
                        component: Ly,
                        referencePage: "https://msdn.microsoft.com/en-us/library/system.text.regularexpressions.regex(v=vs.110).aspx"
                    }, {
                        query: bn,
                        string: "Java",
                        component: Uy,
                        referencePage: "https://docs.oracle.com/javase/7/docs/api/java/util/regex/Pattern.html"
                    }, {
                        query: hn,
                        string: "Ruby",
                        component: Jy,
                        referencePage: "http://ruby-doc.org/core-2.2.0/Regexp.html"
                    }, {
                        query: dn,
                        string: "Rust",
                        component: rb,
                        referencePage: "https://docs.rs/regex/latest/regex/"
                    }, {
                        query: mn,
                        string: "Golang",
                        component: lb,
                        referencePage: "https://golang.org/pkg/regexp/"
                    }, {
                        query: gn,
                        string: "Perl",
                        component: mb,
                        referencePage: "http://perldoc.perl.org/perlre.html"
                    }, {
                        query: vn,
                        string: "AutoIt",
                        component: kb,
                        referencePage: "https://www.autoitscript.com/autoit3/docs/functions/StringRegExp.htm"
                    }, {
                        query: _n,
                        string: "SED",
                        component: Rb,
                        referencePage: "https://www.gnu.org/software/sed/manual/html_node/The-_0022s_0022-Command.html"
                    }, {
                        query: On,
                        string: "Swift 5.2",
                        component: Bb,
                        referencePage: "https://developer.apple.com/documentation/foundation/nsregularexpression"
                    }].sort(function(e, t) {
                        return e.string.localeCompare(t.string)
                    }), n
                }
                var n, r, s;
                return function(e, t) {
                    if ("function" !== typeof t && null !== t) throw new TypeError("Super expression must either be null or a function");
                    e.prototype = Object.create(t && t.prototype, {
                        constructor: {
                            value: e,
                            writable: !0,
                            configurable: !0
                        }
                    }), t && Jb(e, t)
                }(t, o["Component"]), n = t, (r = [{
                    key: "onLanguageClick",
                    value: function(e) {
                        this.setState({
                            language: e
                        })
                    }
                }, {
                    key: "_getActiveLanguage",
                    value: function() {
                        var e = an.a.parse(this.props.location.search).language || ln;
                        return this._languages.find(function(t) {
                            return t.query === e
                        }) || this._languages[0]
                    }
                }, {
                    key: "_getCodeComponent",
                    value: function() {
                        return this._codeComponent
                    }
                }, {
                    key: "render",
                    value: function() {
                        var e = this,
                            t = this.props,
                            n = t.location,
                            r = t.match,
                            o = t.history,
                            s = t.flags,
                            c = t.regex;
                        if (r && !c) return a.a.createElement(Ve.d, {
                            to: "/"
                        });
                        var u = this._getActiveLanguage();
                        return a.a.createElement(Jf, {
                            isOpen: !!r,
                            title: Object(Ke.a)("Code Generator"),
                            location: n,
                            history: o
                        }, a.a.createElement("div", {
                            className: Hb.a.root
                        }, a.a.createElement("div", {
                            className: Hb.a.container
                        }, a.a.createElement($e.c, {
                            header: a.a.createElement($e.k, {
                                text: Object(Ke.a)("Language")
                            }),
                            className: Hb.a.language
                        }, a.a.createElement(Mn, null, this._languages.map(function(t) {
                            var r = Object.assign({}, n, {
                                search: an.a.stringify({
                                    language: t.query
                                })
                            });
                            return a.a.createElement(zu, {
                                isActive: t === u,
                                icon: "code",
                                onClick: function() {
                                    return e.onLanguageClick(t)
                                },
                                to: r,
                                key: "codegen-".concat(t.query)
                            }, t.string)
                        }))), a.a.createElement($e.c, {
                            header: a.a.createElement($e.k, {
                                text: Object(Ke.a)("Generated Code")
                            }),
                            className: Hb.a.codeContainer
                        }, a.a.createElement(Ff, {
                            className: Hb.a.code
                        }, a.a.createElement(u.component, Vb({}, this.props, {
                            isGlobal: -1 !== s.indexOf("g"),
                            ref: function(t) {
                                e._codeComponent = Object(i.findDOMNode)(t)
                            }
                        })), a.a.createElement($e.g, {
                            topPadding: 5,
                            rightPos: 5
                        }, a.a.createElement($e.d, {
                            className: Hb.a.copyButton,
                            getCopyComponent: this._getCodeComponent
                        }))))), a.a.createElement($e.o, {
                            className: Hb.a.infoNotice
                        }, Object(Ke.a)("Please keep in mind that these code samples are automatically generated and are not guaranteed to work. If you find any syntax errors, feel free to submit a bug report.")), a.a.createElement($e.o, {
                            className: Je()(Hb.a.infoNotice, Hb.a.referenceUrl)
                        }, Object(Ke.a)("For a full regex reference for {1}, please visit:", u.string), " ", a.a.createElement($e.l, {
                            to: u.referencePage
                        }, u.referencePage))))
                    }
                }]) && Kb(n.prototype, r), s && Kb(n, s), t
            }(), zb.propTypes = {
                regex: He.a.string.isRequired,
                flags: He.a.string.isRequired,
                delimiter: He.a.string.isRequired,
                testString: He.a.string.isRequired,
                isSubstituting: He.a.bool.isRequired,
                substString: He.a.string,
                flavor: He.a.string.isRequired,
                location: He.a.object.isRequired,
                match: He.a.object,
                history: He.a.object.isRequired
            }, zb.contextTypes = {
                __initialRender: He.a.bool
            }, Qb((Fb = Gb).prototype, "onLanguageClick", [vt.a], Object.getOwnPropertyDescriptor(Fb.prototype, "onLanguageClick"), Fb.prototype), Qb(Fb.prototype, "_getActiveLanguage", [vt.a], Object.getOwnPropertyDescriptor(Fb.prototype, "_getActiveLanguage"), Fb.prototype), Qb(Fb.prototype, "_getCodeComponent", [vt.a], Object.getOwnPropertyDescriptor(Fb.prototype, "_getCodeComponent"), Fb.prototype), qb = Fb)) || qb,
            Zb = n("./app/js/parsers/RegexParser/RegexAreaParser.js"),
            eh = n("./app/js/parsers/RegexParser/Tokenizers/PCRETokenizer.js"),
            th = n("./app/js/constants/RegexTypes.js"),
            nh = {
                regex: null,
                flags: null,
                data: {}
            };

        function rh(e) {
            if (null != nh.regex && null != nh.flags && nh.regex === e.regex && nh.flags === e.flags) return N.a.extend({}, e, {
                regex: nh.cachedRegex,
                flags: nh.cachedFlags,
                bumpalong: !0
            });
            for (var t = Zb.a.tokens, n = "", r = "", o = 0, a = t.length; o < a; o++) {
                var i = t[o],
                    s = i.type;
                n += oh(i.string, s, i.state.inCharClass)
            }
            var c = t[0].flags;
            r = -1 !== c.indexOf("a") ? c.replace(/[au]/g, "") + "P" : c.replace(/a/g, "") + "u";
            var u = N.a.extend({}, e, {
                regex: n,
                flags: r,
                bumpalong: !0
            });
            return nh = N.a.extend({}, {
                regex: e.regex,
                flags: e.flags,
                cachedRegex: n,
                cachedFlags: r
            }), u
        }

        function oh(e, t, n) {
            return t === th.B && "\\Z" === e ? "\\z" : t === th.B && "\\v" === e ? "\\x{0B}" : t === th.R && "{," === e.slice(0, 2) ? "{0," + e.slice(2) : t !== th.V && t !== th.W || "\\u" !== e.slice(0, 2).toLowerCase() ? t === th.r && eh.a.metaRegex.test(e) ? e.slice(1) : n && t === th.M && -1 !== ".=:".indexOf(e) ? "\\" + e : t === th.v ? e.replace(/[au]/g, "") : e : "\\x{" + e.slice(2) + "}"
        }

        function ah(e, t) {
            for (var n = 0; n < t.length; n++) {
                var r = t[n];
                r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(e, r.key, r)
            }
        }
        var ih = function() {
                function e() {
                    ! function(e, t) {
                        if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function")
                    }(this, e), this._worker = null, this._workerFile = null, this._timeout = null, this._preRunHook = null, this._currentFlavor = null
                }
                var t, n, r;
                return t = e, (n = [{
                    key: "_loadFlavor",
                    value: function(e) {
                        if (this._currentFlavor !== e) {
                            switch (this._currentFlavor = e, e) {
                                case _.a.PCRE:
                                    this._workerFile = "/static/pcreWorker.js", this._preRunHook = null;
                                    break;
                                case _.a.PYTHON:
                                    this._workerFile = "/static/pcreWorker.js", this._preRunHook = rh;
                                    break;
                                case _.a.JAVASCRIPT:
                                    this._workerFile = "/static/javascriptWorker.js", this._preRunHook = null;
                                    break;
                                case _.a.GOLANG:
                                    this._workerFile = "/static/golangWorker.js", this._preRunHook = null;
                                    break;
                                default:
                                    throw new Error("No worker file exists for flavor '".concat(e, "'"))
                            }
                            this.resetWorker()
                        }
                    }
                }, {
                    key: "runMatch",
                    value: function(e, t, n) {
                        var r = this,
                            o = arguments.length > 3 && void 0 !== arguments[3] ? arguments[3] : {},
                            a = arguments.length > 4 ? arguments[4] : void 0;
                        if (o.maxExecutionTime || (o.maxExecutionTime = 2e3), o.flavor || (o.flavor = _.a.PCRE), this._loadFlavor(o.flavor), !this._workerFile) throw new Error("No worker file specified!");
                        this._timeout && this.resetWorker(), this._worker || (this._worker = new Worker(this._workerFile), this._worker.onmessage = function(e) {
                            "onload" === e.data ? (r._timeout && (clearTimeout(r._timeout), r._timeout = null), r._timeout = setTimeout(function() {
                                r._worker._callback(null, un.g), r.resetWorker()
                            }, o.maxExecutionTime)) : (clearTimeout(r._timeout), r._timeout = null, e.data.error ? r._worker._callback(e.data || null, e.data.error) : r._worker._callback(e.data))
                        }), this._worker._callback = a;
                        var i = {
                            regex: e,
                            flags: t,
                            testString: n,
                            debugging: o.debugging || !1
                        };
                        this._worker.postMessage(this._preRunHook ? this._preRunHook(i) : i)
                    }
                }, {
                    key: "resetWorker",
                    value: function() {
                        this._timeout && clearTimeout(this._timeout), this._timeout = null, this._worker && (this._worker.terminate(), this._worker = null)
                    }
                }]) && ah(t.prototype, n), r && ah(t, r), e
            }(),
            sh = n("./app/js/components/Modal/ShortcutModal/ShortcutModal.css"),
            ch = n.n(sh);

        function uh(e) {
            return (uh = "function" === typeof Symbol && "symbol" === typeof Symbol.iterator ? function(e) {
                return typeof e
            } : function(e) {
                return e && "function" === typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e
            })(e)
        }

        function lh(e, t) {
            for (var n = 0; n < t.length; n++) {
                var r = t[n];
                r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(e, r.key, r)
            }
        }

        function ph(e, t) {
            return !t || "object" !== uh(t) && "function" !== typeof t ? function(e) {
                if (void 0 === e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
                return e
            }(e) : t
        }

        function fh(e) {
            return (fh = Object.setPrototypeOf ? Object.getPrototypeOf : function(e) {
                return e.__proto__ || Object.getPrototypeOf(e)
            })(e)
        }

        function yh(e, t) {
            return (yh = Object.setPrototypeOf || function(e, t) {
                return e.__proto__ = t, e
            })(e, t)
        }
        var bh = function(e) {
            function t() {
                return function(e, t) {
                    if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function")
                }(this, t), ph(this, fh(t).apply(this, arguments))
            }
            var n, r, i;
            return function(e, t) {
                if ("function" !== typeof t && null !== t) throw new TypeError("Super expression must either be null or a function");
                e.prototype = Object.create(t && t.prototype, {
                    constructor: {
                        value: e,
                        writable: !0,
                        configurable: !0
                    }
                }), t && yh(e, t)
            }(t, o["Component"]), n = t, (r = [{
                key: "render",
                value: function() {
                    var e = this.props,
                        t = e.shortcuts,
                        n = e.onModalClose,
                        r = e.isOpen;
                    return a.a.createElement(qo, {
                        onModalClose: n,
                        isOpen: r,
                        className: ch.a.modal
                    }, a.a.createElement(Ho, {
                        titleIcon: "info-circled"
                    }, Object(Ke.a)("Keyboard Shortcuts")), a.a.createElement(Jo, {
                        className: ch.a.body
                    }, a.a.createElement("table", {
                        className: ch.a.table
                    }, a.a.createElement("thead", null, a.a.createElement("tr", null, a.a.createElement("th", {
                        className: ch.a.shortcutTitle
                    }, Object(Ke.a)("Shortcut")), a.a.createElement("th", {
                        className: ch.a.descriptionTitle
                    }, Object(Ke.a)("Description")))), a.a.createElement("tbody", null, t.map(function(e, t) {
                        var n = e.description,
                            r = e.shortcut;
                        return a.a.createElement("tr", {
                            className: ch.a.shortcutRow,
                            key: "shortcut-".concat(t)
                        }, a.a.createElement("td", {
                            className: ch.a.shortcutContainer
                        }, a.a.createElement("div", {
                            className: ch.a.shortcut
                        }, he.a.toString(r))), a.a.createElement("td", null, n))
                    })))), a.a.createElement(aa, null, a.a.createElement($e.a, {
                        text: Object(Ke.a)("Close"),
                        onClick: n,
                        type: Ot.e.CANCEL
                    })))
                }
            }]) && lh(n.prototype, r), i && lh(n, i), t
        }();
        bh.propTypes = {
            onModalClose: He.a.func.isRequired,
            isOpen: He.a.bool.isRequired,
            shortcuts: He.a.arrayOf(He.a.shape({
                description: He.a.string.isRequired,
                shortcut: He.a.object.isRequired
            }).isRequired).isRequired
        };
        var hh, dh, mh, gh = bh,
            vh = n("./app/js/components/RegexDebugger/DebugRegex.css"),
            _h = n.n(vh);

        function Oh(e) {
            return (Oh = "function" === typeof Symbol && "symbol" === typeof Symbol.iterator ? function(e) {
                return typeof e
            } : function(e) {
                return e && "function" === typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e
            })(e)
        }

        function jh(e, t) {
            for (var n = 0; n < t.length; n++) {
                var r = t[n];
                r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(e, r.key, r)
            }
        }

        function wh(e, t) {
            return !t || "object" !== Oh(t) && "function" !== typeof t ? function(e) {
                if (void 0 === e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
                return e
            }(e) : t
        }

        function kh(e) {
            return (kh = Object.setPrototypeOf ? Object.getPrototypeOf : function(e) {
                return e.__proto__ || Object.getPrototypeOf(e)
            })(e)
        }

        function Eh(e, t) {
            return (Eh = Object.setPrototypeOf || function(e, t) {
                return e.__proto__ = t, e
            })(e, t)
        }

        function Sh(e, t, n, r, o) {
            var a = {};
            return Object.keys(r).forEach(function(e) {
                a[e] = r[e]
            }), a.enumerable = !!a.enumerable, a.configurable = !!a.configurable, ("value" in a || a.initializer) && (a.writable = !0), a = n.slice().reverse().reduce(function(n, r) {
                return r(e, t, n) || n
            }, a), o && void 0 !== a.initializer && (a.value = a.initializer ? a.initializer.call(o) : void 0, a.initializer = void 0), void 0 === a.initializer && (Object.defineProperty(e, t, a), a = null), a
        }
        var xh, Ch, Ph, Th = (mh = dh = function(e) {
                function t() {
                    return function(e, t) {
                        if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function")
                    }(this, t), wh(this, kh(t).apply(this, arguments))
                }
                var n, r, i;
                return function(e, t) {
                    if ("function" !== typeof t && null !== t) throw new TypeError("Super expression must either be null or a function");
                    e.prototype = Object.create(t && t.prototype, {
                        constructor: {
                            value: e,
                            writable: !0,
                            configurable: !0
                        }
                    }), t && Eh(e, t)
                }(t, o["PureComponent"]), n = t, (r = [{
                    key: "_getRegex",
                    value: function(e) {
                        return e.replace(/ /g, String.fromCharCode(160))
                    }
                }, {
                    key: "render",
                    value: function() {
                        var e = this.context,
                            t = e.flags,
                            n = e.delimiter;
                        return a.a.createElement("div", {
                            className: _h.a.regex
                        }, n, this._renderRegex(), n, t)
                    }
                }, {
                    key: "_renderRegex",
                    value: function() {
                        var e = this.props,
                            t = e.previousStep,
                            n = e.step,
                            r = this._getRegex(this.context.regex);
                        if (null != t && t.patternStart > n.patternStart) {
                            var i = Math.max(0, t.patternStart + t.patternEnd - (n.patternStart + n.patternEnd));
                            return a.a.createElement(o.Fragment, null, r.substring(0, n.patternStart), a.a.createElement($e.v, {
                                text: Object(Ke.a)("Pattern Backtrack Indicator"),
                                direction: Ot.b.N,
                                className: _h.a.backtrack
                            }, a.a.createElement("span", {
                                className: _h.a.regexHighlight
                            }, n.patternEnd > 0 && r.substr(n.patternStart, n.patternEnd)), r.substr(n.patternStart + n.patternEnd, i)), r.substring(n.patternStart + n.patternEnd + i))
                        }
                        return a.a.createElement(o.Fragment, null, r.substring(0, n.patternStart), a.a.createElement("span", {
                            className: _h.a.regexHighlight
                        }, n.patternEnd > 0 && r.substr(n.patternStart, n.patternEnd)), r.substring(n.patternStart + n.patternEnd))
                    }
                }]) && jh(n.prototype, r), i && jh(n, i), t
            }(), dh.propTypes = {
                step: He.a.object.isRequired,
                previousStep: He.a.object
            }, dh.contextTypes = {
                regex: He.a.string,
                flags: He.a.string,
                delimiter: He.a.string,
                testString: He.a.string
            }, Sh((hh = mh).prototype, "_getRegex", [vt.e], Object.getOwnPropertyDescriptor(hh.prototype, "_getRegex"), hh.prototype), Sh(hh.prototype, "_renderRegex", [vt.a], Object.getOwnPropertyDescriptor(hh.prototype, "_renderRegex"), hh.prototype), hh),
            Rh = n("./app/js/components/RegexDebugger/DebugTestString.css"),
            Nh = n.n(Rh);

        function Mh(e) {
            return (Mh = "function" === typeof Symbol && "symbol" === typeof Symbol.iterator ? function(e) {
                return typeof e
            } : function(e) {
                return e && "function" === typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e
            })(e)
        }

        function Ah(e, t) {
            for (var n = 0; n < t.length; n++) {
                var r = t[n];
                r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(e, r.key, r)
            }
        }

        function Ih(e, t) {
            return !t || "object" !== Mh(t) && "function" !== typeof t ? function(e) {
                if (void 0 === e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
                return e
            }(e) : t
        }

        function Lh(e) {
            return (Lh = Object.setPrototypeOf ? Object.getPrototypeOf : function(e) {
                return e.__proto__ || Object.getPrototypeOf(e)
            })(e)
        }

        function Dh(e, t) {
            return (Dh = Object.setPrototypeOf || function(e, t) {
                return e.__proto__ = t, e
            })(e, t)
        }

        function qh(e, t, n, r, o) {
            var a = {};
            return Object.keys(r).forEach(function(e) {
                a[e] = r[e]
            }), a.enumerable = !!a.enumerable, a.configurable = !!a.configurable, ("value" in a || a.initializer) && (a.writable = !0), a = n.slice().reverse().reduce(function(n, r) {
                return r(e, t, n) || n
            }, a), o && void 0 !== a.initializer && (a.value = a.initializer ? a.initializer.call(o) : void 0, a.initializer = void 0), void 0 === a.initializer && (Object.defineProperty(e, t, a), a = null), a
        }
        var Fh = 200,
            zh = (Ph = Ch = function(e) {
                function t() {
                    return function(e, t) {
                        if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function")
                    }(this, t), Ih(this, Lh(t).apply(this, arguments))
                }
                var n, r, i;
                return function(e, t) {
                    if ("function" !== typeof t && null !== t) throw new TypeError("Super expression must either be null or a function");
                    e.prototype = Object.create(t && t.prototype, {
                        constructor: {
                            value: e,
                            writable: !0,
                            configurable: !0
                        }
                    }), t && Dh(e, t)
                }(t, o["PureComponent"]), n = t, (r = [{
                    key: "_getTestString",
                    value: function(e) {
                        return e.replace(/ /g, String.fromCharCode(160))
                    }
                }, {
                    key: "_substring",
                    value: function(e) {
                        var t = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : {};
                        return this._showNewlines(function() {
                            var n = t.from,
                                r = t.len,
                                o = t.anchor,
                                a = t.maxChars,
                                i = void 0 === a ? Fh : a,
                                s = e.substr(n, r),
                                c = s.length;
                            if (c > i) return o ? "..." + s.substr(c - i) : s.substr(0, i) + "...";
                            return s
                        }())
                    }
                }, {
                    key: "_showNewlines",
                    value: function(e) {
                        return e.replace(/([\r\n])/g, "\u21b5$1")
                    }
                }, {
                    key: "render",
                    value: function() {
                        var e = this.props.step,
                            t = this._getTestString(this.context.testString);
                        if (e.stringEnd > 0) {
                            var n = Math.min(e.stringStart, Fh),
                                r = Math.min(Fh, t.length - (e.stringStart + e.stringEnd));
                            return a.a.createElement("div", {
                                className: Nh.a.stringArea
                            }, this._substring(t, {
                                from: 0,
                                len: e.stringStart,
                                anchor: !0,
                                maxChars: 2 * Fh - r
                            }), a.a.createElement("span", {
                                className: Nh.a.stringMatch
                            }, this._showNewlines(t.substr(e.stringStart, e.stringEnd))), this._renderRestOfString(e.stringStart + e.stringEnd, n))
                        }
                        if (e.stringEnd < 0) {
                            var o = e.stringStart - Math.abs(e.stringEnd),
                                i = Math.min(o, Fh),
                                s = Math.min(Fh, t.length - e.stringStart);
                            return a.a.createElement("div", {
                                className: Nh.a.stringArea
                            }, this._substring(t, {
                                from: 0,
                                len: o,
                                anchor: !0,
                                maxChars: 2 * Fh - s
                            }), a.a.createElement("span", {
                                className: Nh.a.stringMatch
                            }, t.substr(o, e.stringStart - o)), this._renderRestOfString(e.stringStart, i))
                        }
                        var c = Math.min(e.stringStart, Fh),
                            u = Math.min(Fh, t.length - e.stringStart);
                        return a.a.createElement("div", {
                            className: Nh.a.stringArea
                        }, this._substring(t, {
                            from: 0,
                            len: e.stringStart,
                            anchor: !0,
                            maxChars: 2 * Fh - u
                        }), a.a.createElement("span", {
                            className: Nh.a.stringMatch
                        }), this._renderRestOfString(e.stringStart, c))
                    }
                }, {
                    key: "_renderRestOfString",
                    value: function(e, t) {
                        var n = this.props,
                            r = n.step,
                            i = n.previousStep,
                            s = this._getTestString(this.context.testString);
                        if (null != i && (i.stringStart > r.stringStart || r.stringStart === i.stringStart && i.stringEnd > r.stringEnd && r.stringEnd > 0)) {
                            var c = Math.max(i.stringStart, r.stringStart + r.stringEnd),
                                u = i.stringEnd - (c - i.stringStart);
                            return a.a.createElement(o.Fragment, null, a.a.createElement($e.v, {
                                tag: "span",
                                direction: Ot.b.N,
                                text: Object(Ke.a)("Test String Backtrack Indicator"),
                                className: Nh.a.backtrack
                            }, s.substr(c, u)), this._substring(s, {
                                from: c + u,
                                len: s.length,
                                maxChars: 2 * Fh - t
                            }))
                        }
                        return this._substring(s, {
                            from: e,
                            len: s.length,
                            maxChars: 2 * Fh - t
                        })
                    }
                }]) && Ah(n.prototype, r), i && Ah(n, i), t
            }(), Ch.propTypes = {
                step: He.a.object.isRequired,
                previousStep: He.a.object
            }, Ch.contextTypes = {
                regex: He.a.string,
                flags: He.a.string,
                delimiter: He.a.string,
                testString: He.a.string
            }, qh((xh = Ph).prototype, "_getTestString", [vt.e], Object.getOwnPropertyDescriptor(xh.prototype, "_getTestString"), xh.prototype), qh(xh.prototype, "render", [vt.a], Object.getOwnPropertyDescriptor(xh.prototype, "render"), xh.prototype), xh);

        function Gh(e) {
            return (Gh = "function" === typeof Symbol && "symbol" === typeof Symbol.iterator ? function(e) {
                return typeof e
            } : function(e) {
                return e && "function" === typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e
            })(e)
        }

        function Bh(e, t) {
            for (var n = 0; n < t.length; n++) {
                var r = t[n];
                r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(e, r.key, r)
            }
        }

        function Uh(e, t) {
            return !t || "object" !== Gh(t) && "function" !== typeof t ? function(e) {
                if (void 0 === e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
                return e
            }(e) : t
        }

        function Hh(e) {
            return (Hh = Object.setPrototypeOf ? Object.getPrototypeOf : function(e) {
                return e.__proto__ || Object.getPrototypeOf(e)
            })(e)
        }

        function Wh(e, t) {
            return (Wh = Object.setPrototypeOf || function(e, t) {
                return e.__proto__ = t, e
            })(e, t)
        }
        var Vh = function(e) {
            function t() {
                return function(e, t) {
                    if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function")
                }(this, t), Uh(this, Hh(t).apply(this, arguments))
            }
            var n, r, i;
            return function(e, t) {
                if ("function" !== typeof t && null !== t) throw new TypeError("Super expression must either be null or a function");
                e.prototype = Object.create(t && t.prototype, {
                    constructor: {
                        value: e,
                        writable: !0,
                        configurable: !0
                    }
                }), t && Wh(e, t)
            }(t, o["Component"]), n = t, (r = [{
                key: "render",
                value: function() {
                    var e = this.props,
                        t = e.previousStep,
                        n = e.step;
                    return a.a.createElement(o.Fragment, null, a.a.createElement(Th, {
                        step: n,
                        previousStep: t
                    }), a.a.createElement(zh, {
                        step: n,
                        previousStep: t
                    }))
                }
            }]) && Bh(n.prototype, r), i && Bh(n, i), t
        }();
        Vh.propTypes = {
            step: He.a.object.isRequired,
            previousStep: He.a.object
        };
        var Kh = Vh,
            $h = n("./node_modules/react-compound-slider/es/index.js"),
            Yh = n("./app/js/components/RegexDebugger/Slider.css"),
            Jh = n.n(Yh);

        function Qh() {
            return (Qh = Object.assign || function(e) {
                for (var t = 1; t < arguments.length; t++) {
                    var n = arguments[t];
                    for (var r in n) Object.prototype.hasOwnProperty.call(n, r) && (e[r] = n[r])
                }
                return e
            }).apply(this, arguments)
        }

        function Xh(e, t) {
            return function(e) {
                if (Array.isArray(e)) return e
            }(e) || function(e, t) {
                var n = [],
                    r = !0,
                    o = !1,
                    a = void 0;
                try {
                    for (var i, s = e[Symbol.iterator](); !(r = (i = s.next()).done) && (n.push(i.value), !t || n.length !== t); r = !0);
                } catch (c) {
                    o = !0, a = c
                } finally {
                    try {
                        r || null == s.return || s.return()
                    } finally {
                        if (o) throw a
                    }
                }
                return n
            }(e, t) || function() {
                throw new TypeError("Invalid attempt to destructure non-iterable instance")
            }()
        }

        function Zh(e) {
            var t = e.divOrButton,
                n = Xh(e.domain, 2),
                r = n[0],
                o = n[1],
                i = e.handle,
                s = i.id,
                c = i.value,
                u = i.percent,
                l = e.getHandleProps;
            return a.a.createElement(t, Qh({
                role: "slider",
                "aria-valuemin": r,
                "aria-valuemax": o,
                "aria-valuenow": c,
                className: Jh.a.handle,
                style: {
                    left: "".concat(u, "%")
                }
            }, l(s)))
        }

        function ed(e) {
            var t = e.source,
                n = e.target,
                r = e.getTrackProps;
            return a.a.createElement("div", Qh({
                className: Jh.a.track,
                style: {
                    left: "".concat(t.percent, "%"),
                    width: "".concat(n.percent - t.percent, "%")
                }
            }, r()))
        }

        function td(e) {
            var t = e.tick,
                n = e.count,
                r = e.format;
            return a.a.createElement(o.Fragment, null, a.a.createElement("div", {
                className: Jh.a.tickLine,
                style: {
                    left: "".concat(t.percent, "%")
                }
            }), a.a.createElement("div", {
                className: Jh.a.tickText,
                style: {
                    marginLeft: "".concat(-100 / n / 2, "%"),
                    width: "".concat(100 / n, "%"),
                    left: "".concat(t.percent, "%")
                }
            }, r(t.value)))
        }

        function nd() {
            return (nd = Object.assign || function(e) {
                for (var t = 1; t < arguments.length; t++) {
                    var n = arguments[t];
                    for (var r in n) Object.prototype.hasOwnProperty.call(n, r) && (e[r] = n[r])
                }
                return e
            }).apply(this, arguments)
        }
        Zh.propTypes = {
            divOrButton: He.a.oneOf(["div", "button"]).isRequired,
            domain: He.a.array.isRequired,
            handle: He.a.shape({
                id: He.a.string.isRequired,
                value: He.a.number.isRequired,
                percent: He.a.number.isRequired
            }).isRequired,
            getHandleProps: He.a.func.isRequired
        }, Zh.defaultProps = {
            divOrButton: "div"
        }, ed.propTypes = {
            source: He.a.shape({
                id: He.a.string.isRequired,
                value: He.a.number.isRequired,
                percent: He.a.number.isRequired
            }).isRequired,
            target: He.a.shape({
                id: He.a.string.isRequired,
                value: He.a.number.isRequired,
                percent: He.a.number.isRequired
            }).isRequired,
            getTrackProps: He.a.func.isRequired
        }, td.propTypes = {
            tick: He.a.shape({
                id: He.a.string.isRequired,
                value: He.a.number.isRequired,
                percent: He.a.number.isRequired
            }).isRequired,
            count: He.a.number.isRequired,
            format: He.a.func.isRequired
        }, td.defaultProps = {
            format: function(e) {
                return e
            }
        };
        var rd = function(e) {
            return a.a.createElement($h.e, {
                className: Je()(Jh.a.slider, e.className),
                domain: e.domain,
                values: [e.currentValue],
                onUpdate: e.onChange,
                onChange: e.onChange,
                step: e.step
            }, a.a.createElement($h.b, null, function(e) {
                var t = e.getRailProps;
                return a.a.createElement("div", nd({
                    className: Jh.a.rail
                }, t()), a.a.createElement("div", {
                    className: Jh.a.actualRail
                }))
            }), a.a.createElement($h.a, null, function(t) {
                var n = t.handles,
                    r = t.getHandleProps;
                return a.a.createElement(o.Fragment, null, n.map(function(t) {
                    return a.a.createElement(Zh, {
                        key: t.id,
                        handle: t,
                        domain: e.domain,
                        getHandleProps: r
                    })
                }))
            }), a.a.createElement($h.d, {
                right: !1
            }, function(e) {
                var t = e.tracks,
                    n = e.getTrackProps;
                return a.a.createElement(o.Fragment, null, t.map(function(e) {
                    return a.a.createElement(ed, {
                        key: e.id,
                        source: e.source,
                        target: e.target,
                        getTrackProps: n
                    })
                }))
            }), a.a.createElement($h.c, {
                values: e.ticks
            }, function(e) {
                var t = e.ticks;
                return a.a.createElement(o.Fragment, null, t.map(function(e) {
                    return a.a.createElement(td, {
                        key: "tick-".concat(e.id, "-").concat(e.value),
                        tick: e,
                        count: t.length
                    })
                }))
            }))
        };
        rd.propTypes = {
            domain: He.a.array.isRequired,
            currentValue: He.a.number.isRequired,
            ticks: He.a.array.isRequired,
            onChange: He.a.func.isRequired,
            className: He.a.string,
            step: He.a.number
        }, rd.defaultProps = {
            step: 1
        };
        var od, ad, id, sd = rd,
            cd = n("./app/js/components/RegexDebugger/DebugDataContainer.css"),
            ud = n.n(cd);

        function ld(e) {
            return (ld = "function" === typeof Symbol && "symbol" === typeof Symbol.iterator ? function(e) {
                return typeof e
            } : function(e) {
                return e && "function" === typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e
            })(e)
        }

        function pd(e) {
            return function(e) {
                if (Array.isArray(e)) {
                    for (var t = 0, n = new Array(e.length); t < e.length; t++) n[t] = e[t];
                    return n
                }
            }(e) || function(e) {
                if (Symbol.iterator in Object(e) || "[object Arguments]" === Object.prototype.toString.call(e)) return Array.from(e)
            }(e) || function() {
                throw new TypeError("Invalid attempt to spread non-iterable instance")
            }()
        }

        function fd(e, t) {
            return function(e) {
                if (Array.isArray(e)) return e
            }(e) || function(e, t) {
                var n = [],
                    r = !0,
                    o = !1,
                    a = void 0;
                try {
                    for (var i, s = e[Symbol.iterator](); !(r = (i = s.next()).done) && (n.push(i.value), !t || n.length !== t); r = !0);
                } catch (c) {
                    o = !0, a = c
                } finally {
                    try {
                        r || null == s.return || s.return()
                    } finally {
                        if (o) throw a
                    }
                }
                return n
            }(e, t) || function() {
                throw new TypeError("Invalid attempt to destructure non-iterable instance")
            }()
        }

        function yd(e, t) {
            for (var n = 0; n < t.length; n++) {
                var r = t[n];
                r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(e, r.key, r)
            }
        }

        function bd(e, t) {
            return !t || "object" !== ld(t) && "function" !== typeof t ? function(e) {
                if (void 0 === e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
                return e
            }(e) : t
        }

        function hd(e) {
            return (hd = Object.setPrototypeOf ? Object.getPrototypeOf : function(e) {
                return e.__proto__ || Object.getPrototypeOf(e)
            })(e)
        }

        function dd(e, t) {
            return (dd = Object.setPrototypeOf || function(e, t) {
                return e.__proto__ = t, e
            })(e, t)
        }

        function md(e, t, n, r, o) {
            var a = {};
            return Object.keys(r).forEach(function(e) {
                a[e] = r[e]
            }), a.enumerable = !!a.enumerable, a.configurable = !!a.configurable, ("value" in a || a.initializer) && (a.writable = !0), a = n.slice().reverse().reduce(function(n, r) {
                return r(e, t, n) || n
            }, a), o && void 0 !== a.initializer && (a.value = a.initializer ? a.initializer.call(o) : void 0, a.initializer = void 0), void 0 === a.initializer && (Object.defineProperty(e, t, a), a = null), a
        }
        var gd, vd, _d, Od, jd = [{
                description: Object(Ke.a)("Seek one step backwards"),
                shortcut: cn.LEFT_ARROW
            }, {
                description: Object(Ke.a)("Seek one step backwards"),
                shortcut: cn.COMMA
            }, {
                description: Object(Ke.a)("Jump {1} steps backwards", 10),
                shortcut: cn.SHIFT_LEFT_ARROW
            }, {
                description: Object(Ke.a)("Seek one step forward"),
                shortcut: cn.RIGHT_ARROW
            }, {
                description: Object(Ke.a)("Seek one step forwards"),
                shortcut: cn.DOT
            }, {
                description: Object(Ke.a)("Jump {1} steps forward", 10),
                shortcut: cn.SHIFT_RIGHT_ARROW
            }, {
                description: Object(Ke.a)("Go to the beginning"),
                shortcut: cn.BEGINNING
            }, {
                description: Object(Ke.a)("Go to the end"),
                shortcut: cn.END
            }, {
                description: Object(Ke.a)("Increase step range"),
                shortcut: cn.PLUS
            }, {
                description: Object(Ke.a)("Decrease step range"),
                shortcut: cn.MINUS
            }],
            wd = (id = ad = function(e) {
                function t(e) {
                    var n;
                    return function(e, t) {
                        if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function")
                    }(this, t), (n = bd(this, hd(t).call(this, e))).state = {
                        currentStep: 1,
                        sliderDomain: [1, Math.min(50, n.props.debugData.length)],
                        isPlaying: !1,
                        speed: 300,
                        stepSize: 1,
                        showShortcutModal: !1
                    }, n.onSliderChange = N.a.throttle(n.onSliderChange, 50), n
                }
                var n, r, i;
                return function(e, t) {
                    if ("function" !== typeof t && null !== t) throw new TypeError("Super expression must either be null or a function");
                    e.prototype = Object.create(t && t.prototype, {
                        constructor: {
                            value: e,
                            writable: !0,
                            configurable: !0
                        }
                    }), t && dd(e, t)
                }(t, o["PureComponent"]), n = t, (r = [{
                    key: "componentDidMount",
                    value: function() {
                        _t.a.on({
                            "key:leftArrow": this.onLeftKeyPress,
                            "key:rightArrow": this.onRightKeyPress,
                            "key:shiftLeftArrow": this.onShiftLeftKeyPress,
                            "key:shiftRightArrow": this.onShiftRightKeyPress,
                            "key:comma": this.onLeftKeyPress,
                            "key:dot": this.onRightKeyPress,
                            "key:beginning": this.onBeginningClick,
                            "key:end": this.onEndClick,
                            "key:plus": this.onPlusPress,
                            "key:minus": this.onMinusPress
                        })
                    }
                }, {
                    key: "componentWillUnmount",
                    value: function() {
                        this._stopPlay(), _t.a.off({
                            "key:leftArrow": this.onLeftKeyPress,
                            "key:rightArrow": this.onRightKeyPress,
                            "key:shiftLeftArrow": this.onShiftLeftKeyPress,
                            "key:shiftRightArrow": this.onShiftRightKeyPress,
                            "key:comma": this.onLeftKeyPress,
                            "key:dot": this.onRightKeyPress,
                            "key:beginning": this.onBeginningClick,
                            "key:end": this.onEndClick,
                            "key:plus": this.onPlusPress,
                            "key:minus": this.onMinusPress
                        })
                    }
                }, {
                    key: "onShortcutModalClose",
                    value: function() {
                        this.setState({
                            showShortcutModal: !1
                        })
                    }
                }, {
                    key: "onShortcutClick",
                    value: function() {
                        this.setState({
                            showShortcutModal: !0
                        })
                    }
                }, {
                    key: "onPlusPress",
                    value: function() {
                        this.onEndChange(this.state.sliderDomain[1] + 20)
                    }
                }, {
                    key: "onMinusPress",
                    value: function() {
                        this.onEndChange(this.state.sliderDomain[1] - 20)
                    }
                }, {
                    key: "onLeftKeyPress",
                    value: function() {
                        this._adjustCurrentStep(-this.state.stepSize)
                    }
                }, {
                    key: "onShiftLeftKeyPress",
                    value: function() {
                        this._adjustCurrentStep(-10)
                    }
                }, {
                    key: "onRightKeyPress",
                    value: function() {
                        this._adjustCurrentStep(this.state.stepSize)
                    }
                }, {
                    key: "onShiftRightKeyPress",
                    value: function() {
                        this._adjustCurrentStep(10)
                    }
                }, {
                    key: "onSliderChange",
                    value: function(e) {
                        var t = fd(e, 1)[0];
                        this.setState({
                            currentStep: t
                        })
                    }
                }, {
                    key: "onStartChange",
                    value: function() {
                        var e = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : 0,
                            t = fd(this.state.sliderDomain, 2)[1],
                            n = Math.max(1, Math.min(t - 1, e));
                        this._stopPlay(), this.setState({
                            sliderDomain: [n, t],
                            currentStep: Math.max(this.state.currentStep, n),
                            isPlaying: !1,
                            stepSize: Math.ceil((t - n) / 1e6)
                        })
                    }
                }, {
                    key: "onEndChange",
                    value: function() {
                        var e = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : 0,
                            t = fd(this.state.sliderDomain, 1)[0],
                            n = Math.max(t + 1, Math.min(this.props.debugData.length, e));
                        this._stopPlay(), this.setState({
                            sliderDomain: [t, n],
                            currentStep: Math.min(this.state.currentStep, n),
                            isPlaying: !1,
                            stepSize: Math.ceil((n - t) / 1e6)
                        })
                    }
                }, {
                    key: "onPlayPauseClick",
                    value: function() {
                        var e = this;
                        this.setState(function(e) {
                            return {
                                isPlaying: !e.isPlaying,
                                currentStep: e.currentStep === e.sliderDomain[1] ? e.sliderDomain[0] : e.currentStep
                            }
                        }, function() {
                            e.state.isPlaying ? e._startPlay() : e._stopPlay()
                        })
                    }
                }, {
                    key: "onDecreaseSpeedClick",
                    value: function() {
                        this.setState(function(e) {
                            return {
                                speed: Math.min(2e3, e.speed + 100)
                            }
                        }, this._startPlay)
                    }
                }, {
                    key: "onIncreaseSpeedClick",
                    value: function() {
                        this.setState(function(e) {
                            return {
                                speed: Math.max(100, e.speed - 100)
                            }
                        }, this._startPlay)
                    }
                }, {
                    key: "onBeginningClick",
                    value: function() {
                        this._stopPlay();
                        var e = fd(this.state.sliderDomain, 1)[0];
                        this.setState({
                            currentStep: e,
                            isPlaying: !1
                        })
                    }
                }, {
                    key: "onEndClick",
                    value: function() {
                        this._stopPlay();
                        var e = fd(this.state.sliderDomain, 2)[1];
                        this.setState({
                            currentStep: e,
                            isPlaying: !1
                        })
                    }
                }, {
                    key: "_adjustCurrentStep",
                    value: function(e) {
                        this.setState(function(t) {
                            var n = fd(t.sliderDomain, 2),
                                r = n[0],
                                o = n[1];
                            return {
                                currentStep: Math.min(Math.max(t.currentStep + e, r), o)
                            }
                        })
                    }
                }, {
                    key: "_startPlay",
                    value: function() {
                        var e = this;
                        clearInterval(this._interval), this._interval = setInterval(function() {
                            e.state.currentStep === e.state.sliderDomain[1] ? (e.setState({
                                isPlaying: !1
                            }), e._stopPlay()) : e.setState(function(e) {
                                return {
                                    currentStep: e.currentStep + 1
                                }
                            })
                        }, this.state.speed)
                    }
                }, {
                    key: "_stopPlay",
                    value: function() {
                        clearInterval(this._interval)
                    }
                }, {
                    key: "render",
                    value: function() {
                        var e = this.props,
                            t = e.className,
                            n = e.debugData,
                            r = this.state,
                            o = r.currentStep,
                            i = r.sliderDomain,
                            s = r.isPlaying,
                            c = r.stepSize,
                            u = r.showShortcutModal,
                            l = n[o - 1],
                            p = o > 1 ? n[o - 2] : null,
                            f = Math.min(i[1], 4),
                            y = N.a.uniq([i[0]].concat(pd(new Array(f).fill().map(function(e, t) {
                                return Math.round((t + 1) * i[1] / (f + 1))
                            })), [i[1]]));
                        return a.a.createElement("div", {
                            className: Je()(ud.a.container, t)
                        }, n.length > 1 && a.a.createElement("div", {
                            className: ud.a.stepSlider
                        }, a.a.createElement($e.k, {
                            text: Object(Ke.a)("Match Steps")
                        }), a.a.createElement(Ff, {
                            className: ud.a.stepContainer
                        }, a.a.createElement("div", {
                            className: ud.a.sliderArea
                        }, a.a.createElement($e.u, {
                            codeInput: !0,
                            value: i[0].toString(),
                            onChange: this.onStartChange,
                            validation: /^\d*$/,
                            placeholder: 1,
                            wrappedClassName: ud.a.leftInput,
                            className: ud.a.input
                        }), a.a.createElement(sd, {
                            domain: i,
                            ticks: y,
                            currentValue: o,
                            onChange: this.onSliderChange,
                            className: ud.a.slider,
                            step: c
                        }), a.a.createElement($e.u, {
                            codeInput: !0,
                            value: i[1].toString(),
                            onChange: this.onEndChange,
                            validation: /^\d*$/,
                            placeholder: n.length,
                            wrappedClassName: ud.a.rightInput,
                            className: ud.a.input
                        })), a.a.createElement("div", {
                            className: ud.a.controls
                        }, a.a.createElement($e.v, {
                            text: Object(Ke.a)("Go to beginning"),
                            onClick: this.onBeginningClick,
                            direction: Ot.b.N,
                            className: ud.a.goBeginning
                        }, a.a.createElement($e.i, {
                            icon: "to-start"
                        })), a.a.createElement($e.v, {
                            text: Object(Ke.a)("Decrease speed"),
                            onClick: this.onDecreaseSpeedClick,
                            direction: Ot.b.N,
                            className: Je()(ud.a.decrease, !s && ud.a.disabled)
                        }, a.a.createElement($e.i, {
                            icon: "fast-bw"
                        })), a.a.createElement($e.v, {
                            text: s ? Object(Ke.a)("Pause") : Object(Ke.a)("Play"),
                            onClick: this.onPlayPauseClick,
                            direction: Ot.b.N,
                            className: ud.a.playPause
                        }, a.a.createElement($e.i, {
                            icon: s ? "pause" : "play"
                        })), a.a.createElement($e.v, {
                            text: Object(Ke.a)("Increase speed"),
                            onClick: this.onIncreaseSpeedClick,
                            direction: Ot.b.N,
                            className: Je()(ud.a.decrease, !s && ud.a.disabled)
                        }, a.a.createElement($e.i, {
                            icon: "fast-fw"
                        })), a.a.createElement($e.v, {
                            text: Object(Ke.a)("Go to end"),
                            onClick: this.onEndClick,
                            direction: Ot.b.N,
                            className: ud.a.goEnd
                        }, a.a.createElement($e.i, {
                            icon: "to-end"
                        })))), a.a.createElement($e.o, {
                            onClick: this.onShortcutClick,
                            className: ud.a.shortcuts
                        }, Object(Ke.a)("Available keyboard shortcuts"))), a.a.createElement("div", {
                            className: ud.a.matchStep
                        }, a.a.createElement($e.k, {
                            text: Object(Ke.a)("Match Step {1}", o)
                        }), a.a.createElement(Ff, {
                            className: ud.a.debugContainer
                        }, a.a.createElement(Kh, {
                            step: l,
                            previousStep: p
                        }))), a.a.createElement(gh, {
                            isOpen: u,
                            onModalClose: this.onShortcutModalClose,
                            shortcuts: jd
                        }))
                    }
                }]) && yd(n.prototype, r), i && yd(n, i), t
            }(), ad.propTypes = {
                debugData: He.a.array.isRequired,
                className: He.a.string
            }, md((od = id).prototype, "onShortcutModalClose", [vt.a], Object.getOwnPropertyDescriptor(od.prototype, "onShortcutModalClose"), od.prototype), md(od.prototype, "onShortcutClick", [vt.a], Object.getOwnPropertyDescriptor(od.prototype, "onShortcutClick"), od.prototype), md(od.prototype, "onPlusPress", [vt.a], Object.getOwnPropertyDescriptor(od.prototype, "onPlusPress"), od.prototype), md(od.prototype, "onMinusPress", [vt.a], Object.getOwnPropertyDescriptor(od.prototype, "onMinusPress"), od.prototype), md(od.prototype, "onLeftKeyPress", [vt.a], Object.getOwnPropertyDescriptor(od.prototype, "onLeftKeyPress"), od.prototype), md(od.prototype, "onShiftLeftKeyPress", [vt.a], Object.getOwnPropertyDescriptor(od.prototype, "onShiftLeftKeyPress"), od.prototype), md(od.prototype, "onRightKeyPress", [vt.a], Object.getOwnPropertyDescriptor(od.prototype, "onRightKeyPress"), od.prototype), md(od.prototype, "onShiftRightKeyPress", [vt.a], Object.getOwnPropertyDescriptor(od.prototype, "onShiftRightKeyPress"), od.prototype), md(od.prototype, "onSliderChange", [vt.a], Object.getOwnPropertyDescriptor(od.prototype, "onSliderChange"), od.prototype), md(od.prototype, "onStartChange", [vt.a], Object.getOwnPropertyDescriptor(od.prototype, "onStartChange"), od.prototype), md(od.prototype, "onEndChange", [vt.a], Object.getOwnPropertyDescriptor(od.prototype, "onEndChange"), od.prototype), md(od.prototype, "onPlayPauseClick", [vt.a], Object.getOwnPropertyDescriptor(od.prototype, "onPlayPauseClick"), od.prototype), md(od.prototype, "onDecreaseSpeedClick", [vt.a], Object.getOwnPropertyDescriptor(od.prototype, "onDecreaseSpeedClick"), od.prototype), md(od.prototype, "onIncreaseSpeedClick", [vt.a], Object.getOwnPropertyDescriptor(od.prototype, "onIncreaseSpeedClick"), od.prototype), md(od.prototype, "onBeginningClick", [vt.a], Object.getOwnPropertyDescriptor(od.prototype, "onBeginningClick"), od.prototype), md(od.prototype, "onEndClick", [vt.a], Object.getOwnPropertyDescriptor(od.prototype, "onEndClick"), od.prototype), od),
            kd = n("./app/js/components/RegexDebugger/RegexDebugger.css"),
            Ed = n.n(kd);

        function Sd(e) {
            return (Sd = "function" === typeof Symbol && "symbol" === typeof Symbol.iterator ? function(e) {
                return typeof e
            } : function(e) {
                return e && "function" === typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e
            })(e)
        }

        function xd(e, t) {
            for (var n = 0; n < t.length; n++) {
                var r = t[n];
                r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(e, r.key, r)
            }
        }

        function Cd(e, t) {
            return !t || "object" !== Sd(t) && "function" !== typeof t ? function(e) {
                if (void 0 === e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
                return e
            }(e) : t
        }

        function Pd(e) {
            return (Pd = Object.setPrototypeOf ? Object.getPrototypeOf : function(e) {
                return e.__proto__ || Object.getPrototypeOf(e)
            })(e)
        }

        function Td(e, t) {
            return (Td = Object.setPrototypeOf || function(e, t) {
                return e.__proto__ = t, e
            })(e, t)
        }

        function Rd(e, t, n, r, o) {
            var a = {};
            return Object.keys(r).forEach(function(e) {
                a[e] = r[e]
            }), a.enumerable = !!a.enumerable, a.configurable = !!a.configurable, ("value" in a || a.initializer) && (a.writable = !0), a = n.slice().reverse().reduce(function(n, r) {
                return r(e, t, n) || n
            }, a), o && void 0 !== a.initializer && (a.value = a.initializer ? a.initializer.call(o) : void 0, a.initializer = void 0), void 0 === a.initializer && (Object.defineProperty(e, t, a), a = null), a
        }
        var Nd = Object(We.b)(function(e) {
            return {
                regex: e.regexEditor.regex,
                flags: e.regexEditor.flags,
                delimiter: e.regexEditor.delimiter,
                testString: e.regexEditor.testString,
                permalinkFragment: e.general.permalinkFragment,
                flavor: e.regexEditor.flavor
            }
        })((Od = _d = function(e) {
            function t() {
                var e, n;
                ! function(e, t) {
                    if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function")
                }(this, t);
                for (var r = arguments.length, o = new Array(r), a = 0; a < r; a++) o[a] = arguments[a];
                return (n = Cd(this, (e = Pd(t)).call.apply(e, [this].concat(o)))).state = {
                    hasDebugged: !1,
                    activeMatch: 0,
                    debugResult: [],
                    error: null
                }, n._regexDebugger = new ih, n
            }
            var n, r, i;
            return function(e, t) {
                if ("function" !== typeof t && null !== t) throw new TypeError("Super expression must either be null or a function");
                e.prototype = Object.create(t && t.prototype, {
                    constructor: {
                        value: e,
                        writable: !0,
                        configurable: !0
                    }
                }), t && Td(e, t)
            }(t, o["Component"]), n = t, (r = [{
                key: "getChildContext",
                value: function() {
                    var e = this.props;
                    return {
                        regex: e.regex,
                        delimiter: e.delimiter,
                        flags: e.flags,
                        testString: e.testString
                    }
                }
            }, {
                key: "componentDidMount",
                value: function() {
                    this._runDebugger()
                }
            }, {
                key: "componentWillUnmount",
                value: function() {
                    this._regexDebugger.resetWorker(), this._regexDebugger = null
                }
            }, {
                key: "onMatchClick",
                value: function(e) {
                    this.setState({
                        activeMatch: e
                    })
                }
            }, {
                key: "_runDebugger",
                value: function() {
                    var e = this.props,
                        t = e.regex,
                        n = e.flags,
                        r = e.testString;
                    this._regexDebugger.runMatch(t, n, r, {
                        maxExecutionTime: 3e4,
                        debugging: !0
                    }, this._handleDebugResult)
                }
            }, {
                key: "_handleDebugResult",
                value: function(e, t) {
                    this.setState({
                        hasDebugged: !0,
                        debugResult: e ? e.calloutData : [],
                        error: t
                    })
                }
            }, {
                key: "render",
                value: function() {
                    var e = this,
                        t = this.props,
                        n = t.permalinkFragment,
                        r = t.location,
                        o = t.flavor,
                        i = t.regex;
                    if (o !== _.a.PCRE || "" === i || !n && (!r.state || !r.state.returnTo)) return a.a.createElement(Ve.d, {
                        to: "/"
                    });
                    var s = this.state,
                        c = s.hasDebugged,
                        u = s.activeMatch,
                        l = s.debugResult,
                        p = s.error;
                    return c ? N.a.isEmpty(l) ? p ? a.a.createElement($e.o, {
                        className: Ed.a.centered,
                        type: Ot.c.ERROR
                    }, a.a.createElement("div", null, Object(Ke.a)("The regex debugger was unable to debug your pattern due to an error."), a.a.createElement("br", null), a.a.createElement("br", null), p)) : a.a.createElement($e.o, {
                        className: Ed.a.centered,
                        type: Ot.c.ERROR
                    }, Object(Ke.a)("The regex debugger returned no data for the input you provided.")) : a.a.createElement("div", {
                        className: Ed.a.root
                    }, a.a.createElement($e.c, {
                        className: Ed.a.matchSelector,
                        header: a.a.createElement($e.k, {
                            text: Object(Ke.a)("Match")
                        })
                    }, a.a.createElement(Mn, null, l.map(function(t, n) {
                        var r;
                        return r = t.status >= 0 ? Object(Ke.a)("Match {1} found in {2} step(s)", n + 1, t.steps) : t.status === un.d ? Object(Ke.a)("Match {1} failed in {2} step(s)", n + 1, t.steps) : Object(Ke.a)("Match {1} halted after {2} step(s)", n + 1, t.steps), a.a.createElement(Yr, {
                            isActive: n === u,
                            className: t.status >= 0 ? Ed.a.match : Ed.a.noMatch,
                            icon: "angle-right",
                            key: "debug-result-".concat(n),
                            onClick: function() {
                                return e.onMatchClick(n)
                            }
                        }, r)
                    }))), a.a.createElement(wd, {
                        debugData: l[u],
                        className: Ed.a.debugResult,
                        key: "match-idx-".concat(u)
                    })) : a.a.createElement("div", {
                        className: Ed.a.centered
                    }, a.a.createElement("div", {
                        className: Ed.a.loadingText
                    }, Object(Ke.a)("Please wait while your expression is being debugged...")), a.a.createElement($e.r, null))
                }
            }]) && xd(n.prototype, r), i && xd(n, i), t
        }(), _d.propTypes = {
            regex: He.a.string.isRequired,
            flags: He.a.string.isRequired,
            delimiter: He.a.string.isRequired,
            testString: He.a.string.isRequired,
            location: He.a.object.isRequired,
            match: He.a.object,
            permalinkFragment: He.a.string,
            history: He.a.object.isRequired,
            flavor: He.a.string.isRequired
        }, _d.childContextTypes = {
            regex: He.a.string,
            flags: He.a.string,
            delimiter: He.a.string,
            testString: He.a.string
        }, Rd((vd = Od).prototype, "getChildContext", [vt.a], Object.getOwnPropertyDescriptor(vd.prototype, "getChildContext"), vd.prototype), Rd(vd.prototype, "onMatchClick", [vt.a], Object.getOwnPropertyDescriptor(vd.prototype, "onMatchClick"), vd.prototype), Rd(vd.prototype, "_handleDebugResult", [vt.a], Object.getOwnPropertyDescriptor(vd.prototype, "_handleDebugResult"), vd.prototype), gd = vd)) || gd;

        function Md(e) {
            return (Md = "function" === typeof Symbol && "symbol" === typeof Symbol.iterator ? function(e) {
                return typeof e
            } : function(e) {
                return e && "function" === typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e
            })(e)
        }

        function Ad(e, t) {
            for (var n = 0; n < t.length; n++) {
                var r = t[n];
                r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(e, r.key, r)
            }
        }

        function Id(e, t) {
            return !t || "object" !== Md(t) && "function" !== typeof t ? function(e) {
                if (void 0 === e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
                return e
            }(e) : t
        }

        function Ld(e) {
            return (Ld = Object.setPrototypeOf ? Object.getPrototypeOf : function(e) {
                return e.__proto__ || Object.getPrototypeOf(e)
            })(e)
        }

        function Dd(e, t) {
            return (Dd = Object.setPrototypeOf || function(e, t) {
                return e.__proto__ = t, e
            })(e, t)
        }
        var qd = function(e) {
            function t() {
                return function(e, t) {
                    if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function")
                }(this, t), Id(this, Ld(t).apply(this, arguments))
            }
            var n, r, i;
            return function(e, t) {
                if ("function" !== typeof t && null !== t) throw new TypeError("Super expression must either be null or a function");
                e.prototype = Object.create(t && t.prototype, {
                    constructor: {
                        value: e,
                        writable: !0,
                        configurable: !0
                    }
                }), t && Dd(e, t)
            }(t, o["Component"]), n = t, (r = [{
                key: "render",
                value: function() {
                    return a.a.createElement(Jf, {
                        isOpen: !!this.props.match,
                        alignment: Ot.a.LEFT,
                        title: Object(Ke.a)("Regex Debugger"),
                        location: this.props.location,
                        history: this.props.history
                    }, a.a.createElement(Nd, this.props))
                }
            }]) && Ad(n.prototype, r), i && Ad(n, i), t
        }();
        qd.propTypes = {
            match: He.a.object,
            history: He.a.object.isRequired,
            location: He.a.object.isRequired
        };
        var Fd, zd, Gd, Bd, Ud, Hd, Wd = qd,
            Vd = n("./app/js/components/RightSidebar/RightSidebar.css"),
            Kd = n.n(Vd);

        function $d(e) {
            return ($d = "function" === typeof Symbol && "symbol" === typeof Symbol.iterator ? function(e) {
                return typeof e
            } : function(e) {
                return e && "function" === typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e
            })(e)
        }

        function Yd(e, t) {
            for (var n = 0; n < t.length; n++) {
                var r = t[n];
                r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(e, r.key, r)
            }
        }

        function Jd(e, t) {
            return !t || "object" !== $d(t) && "function" !== typeof t ? function(e) {
                if (void 0 === e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
                return e
            }(e) : t
        }

        function Qd(e) {
            return (Qd = Object.setPrototypeOf ? Object.getPrototypeOf : function(e) {
                return e.__proto__ || Object.getPrototypeOf(e)
            })(e)
        }

        function Xd(e, t) {
            return (Xd = Object.setPrototypeOf || function(e, t) {
                return e.__proto__ = t, e
            })(e, t)
        }

        function Zd(e, t, n, r, o) {
            var a = {};
            return Object.keys(r).forEach(function(e) {
                a[e] = r[e]
            }), a.enumerable = !!a.enumerable, a.configurable = !!a.configurable, ("value" in a || a.initializer) && (a.writable = !0), a = n.slice().reverse().reduce(function(n, r) {
                return r(e, t, n) || n
            }, a), o && void 0 !== a.initializer && (a.value = a.initializer ? a.initializer.call(o) : void 0, a.initializer = void 0), void 0 === a.initializer && (Object.defineProperty(e, t, a), a = null), a
        }
        var em, tm, nm, rm = (Fd = Object(We.b)(function(e) {
                return {
                    width: e.rightSidebar.width
                }
            }), zd = Object(vt.b)(Be.f), Fd((Hd = Ud = function(e) {
                function t() {
                    var e, n;
                    ! function(e, t) {
                        if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function")
                    }(this, t);
                    for (var r = arguments.length, o = new Array(r), a = 0; a < r; a++) o[a] = arguments[a];
                    return (n = Jd(this, (e = Qd(t)).call.apply(e, [this].concat(o))))._canResize = !1, n.state = {
                        size: n.props.width
                    }, n
                }
                var n, r, i;
                return function(e, t) {
                    if ("function" !== typeof t && null !== t) throw new TypeError("Super expression must either be null or a function");
                    e.prototype = Object.create(t && t.prototype, {
                        constructor: {
                            value: e,
                            writable: !0,
                            configurable: !0
                        }
                    }), t && Xd(e, t)
                }(t, o["Component"]), n = t, (r = [{
                    key: "componentWillUnmount",
                    value: function() {
                        this._updateSidebarSize.cancel(), window.removeEventListener("mouseup", this.onMouseUp, {
                            passive: !0
                        }), window.removeEventListener("mousemove", this.onMouseMove, {
                            passive: !0
                        })
                    }
                }, {
                    key: "onLabelClick",
                    value: function(e) {
                        this.props.dispatch(Object(ne.bb)(e)), this.props.dispatch(Object(ne.r)())
                    }
                }, {
                    key: "onMouseDown",
                    value: function() {
                        this._canResize = !0, window.addEventListener("mouseup", this.onMouseUp, {
                            passive: !0
                        }), window.addEventListener("mousemove", this.onMouseMove, {
                            passive: !0
                        }), document.body.style.pointerEvents = "none"
                    }
                }, {
                    key: "onMouseMove",
                    value: function(e) {
                        if (this._canResize) {
                            var t = window.innerWidth - e.clientX;
                            this.setState({
                                size: t + "px"
                            }), this._updateSidebarSize(t), _t.a.emit("testarea:resize")
                        }
                    }
                }, {
                    key: "onMouseUp",
                    value: function() {
                        this._canResize && (this._canResize = !1, document.body.style.pointerEvents = null, window.removeEventListener("mouseup", this.onMouseUp, {
                            passive: !0
                        }), window.removeEventListener("mousemove", this.onMouseMove, {
                            passive: !0
                        }))
                    }
                }, {
                    key: "_updateSidebarSize",
                    value: function(e) {
                        this.props.dispatch(Object(ne.M)(e)), this.props.dispatch(Object(ne.r)())
                    }
                }, {
                    key: "render",
                    value: function() {
                        return a.a.createElement("div", {
                            className: Kd.a.root,
                            style: {
                                width: this.state.size
                            }
                        }, a.a.createElement("div", {
                            className: Kd.a.resizer,
                            onMouseDown: this.onMouseDown
                        }), this.props.children)
                    }
                }]) && Yd(n.prototype, r), i && Yd(n, i), t
            }(), Ud.propTypes = {
                children: He.a.node.isRequired,
                dispatch: He.a.func.isRequired,
                width: He.a.number
            }, Zd((Bd = Hd).prototype, "onLabelClick", [vt.a], Object.getOwnPropertyDescriptor(Bd.prototype, "onLabelClick"), Bd.prototype), Zd(Bd.prototype, "onMouseDown", [vt.a], Object.getOwnPropertyDescriptor(Bd.prototype, "onMouseDown"), Bd.prototype), Zd(Bd.prototype, "onMouseMove", [vt.a], Object.getOwnPropertyDescriptor(Bd.prototype, "onMouseMove"), Bd.prototype), Zd(Bd.prototype, "onMouseUp", [vt.a], Object.getOwnPropertyDescriptor(Bd.prototype, "onMouseUp"), Bd.prototype), Zd(Bd.prototype, "_updateSidebarSize", [zd], Object.getOwnPropertyDescriptor(Bd.prototype, "_updateSidebarSize"), Bd.prototype), Gd = Bd)) || Gd),
            om = n("./app/js/components/TreeView/TreeView.css"),
            am = n.n(om);

        function im(e) {
            return (im = "function" === typeof Symbol && "symbol" === typeof Symbol.iterator ? function(e) {
                return typeof e
            } : function(e) {
                return e && "function" === typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e
            })(e)
        }

        function sm() {
            return (sm = Object.assign || function(e) {
                for (var t = 1; t < arguments.length; t++) {
                    var n = arguments[t];
                    for (var r in n) Object.prototype.hasOwnProperty.call(n, r) && (e[r] = n[r])
                }
                return e
            }).apply(this, arguments)
        }

        function cm(e, t) {
            if (null == e) return {};
            var n, r, o = function(e, t) {
                if (null == e) return {};
                var n, r, o = {},
                    a = Object.keys(e);
                for (r = 0; r < a.length; r++) n = a[r], t.indexOf(n) >= 0 || (o[n] = e[n]);
                return o
            }(e, t);
            if (Object.getOwnPropertySymbols) {
                var a = Object.getOwnPropertySymbols(e);
                for (r = 0; r < a.length; r++) n = a[r], t.indexOf(n) >= 0 || Object.prototype.propertyIsEnumerable.call(e, n) && (o[n] = e[n])
            }
            return o
        }

        function um(e, t) {
            for (var n = 0; n < t.length; n++) {
                var r = t[n];
                r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(e, r.key, r)
            }
        }

        function lm(e, t) {
            return !t || "object" !== im(t) && "function" !== typeof t ? function(e) {
                if (void 0 === e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
                return e
            }(e) : t
        }

        function pm(e) {
            return (pm = Object.setPrototypeOf ? Object.getPrototypeOf : function(e) {
                return e.__proto__ || Object.getPrototypeOf(e)
            })(e)
        }

        function fm(e, t) {
            return (fm = Object.setPrototypeOf || function(e, t) {
                return e.__proto__ = t, e
            })(e, t)
        }
        var ym = (nm = tm = function(e) {
                function t() {
                    var e, n;
                    ! function(e, t) {
                        if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function")
                    }(this, t);
                    for (var r = arguments.length, o = new Array(r), a = 0; a < r; a++) o[a] = arguments[a];
                    return (n = lm(this, (e = pm(t)).call.apply(e, [this].concat(o)))).state = {
                        collapsed: n.props.defaultCollapsed
                    }, n
                }
                var n, r, i;
                return function(e, t) {
                    if ("function" !== typeof t && null !== t) throw new TypeError("Super expression must either be null or a function");
                    e.prototype = Object.create(t && t.prototype, {
                        constructor: {
                            value: e,
                            writable: !0,
                            configurable: !0
                        }
                    }), t && fm(e, t)
                }(t, o["Component"]), n = t, (r = [{
                    key: "onArrowClick",
                    value: function() {
                        var e;
                        (this.setState({
                            collapsed: !this.state.collapsed
                        }), this.props.onClick) && (e = this.props).onClick.apply(e, arguments)
                    }
                }, {
                    key: "render",
                    value: function() {
                        var e = N.a.omit(this.props, ["defaultCollapsed"]),
                            t = e.collapsed,
                            n = void 0 === t ? this.state.collapsed : t,
                            r = e.className,
                            o = e.nodeLabel,
                            i = e.children,
                            s = cm(e, ["collapsed", "className", "nodeLabel", "children"]);
                        return a.a.createElement("div", sm({
                            className: Je()(am.a.treeview, r)
                        }, s), a.a.createElement("div", {
                            className: am.a.treeviewLabel
                        }, a.a.createElement("div", {
                            className: am.a.treeviewArrowContainer,
                            onClick: this.onArrowClick
                        }, a.a.createElement("div", {
                            className: Je()(am.a.treeviewArrow, n && am.a.collapsed)
                        })), o), !n && a.a.createElement("div", {
                            className: am.a.treeviewChildren
                        }, i))
                    }
                }]) && um(n.prototype, r), i && um(n, i), t
            }(), tm.propTypes = {
                collapsed: He.a.bool,
                defaultCollapsed: He.a.bool,
                nodeLabel: He.a.element.isRequired,
                onClick: He.a.func,
                className: He.a.string,
                children: He.a.oneOfType([He.a.array, He.a.element])
            }, tm.defaultProps = {
                defaultCollapsed: !1
            }, function(e, t, n, r, o) {
                var a = {};
                Object.keys(r).forEach(function(e) {
                    a[e] = r[e]
                }), a.enumerable = !!a.enumerable, a.configurable = !!a.configurable, ("value" in a || a.initializer) && (a.writable = !0), a = n.slice().reverse().reduce(function(n, r) {
                    return r(e, t, n) || n
                }, a), o && void 0 !== a.initializer && (a.value = a.initializer ? a.initializer.call(o) : void 0, a.initializer = void 0), void 0 === a.initializer && (Object.defineProperty(e, t, a), a = null)
            }((em = nm).prototype, "onArrowClick", [vt.a], Object.getOwnPropertyDescriptor(em.prototype, "onArrowClick"), em.prototype), em),
            bm = n("./app/js/parsers/ExplanationEngine/explainErrors.js"),
            hm = n("./app/js/parsers/ExplanationEngine/explainToken.js"),
            dm = n("./app/js/parsers/ExplanationEngine/utils.js"),
            mm = n("./app/js/parsers/BaseParser.js"),
            gm = n("./app/js/components/RegexExplainer/RegexExplainer.css"),
            vm = n.n(gm);

        function _m(e) {
            return (_m = "function" === typeof Symbol && "symbol" === typeof Symbol.iterator ? function(e) {
                return typeof e
            } : function(e) {
                return e && "function" === typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e
            })(e)
        }

        function Om(e, t) {
            for (var n = 0; n < t.length; n++) {
                var r = t[n];
                r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(e, r.key, r)
            }
        }

        function jm(e, t) {
            return !t || "object" !== _m(t) && "function" !== typeof t ? function(e) {
                if (void 0 === e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
                return e
            }(e) : t
        }

        function wm(e) {
            return (wm = Object.setPrototypeOf ? Object.getPrototypeOf : function(e) {
                return e.__proto__ || Object.getPrototypeOf(e)
            })(e)
        }

        function km(e, t) {
            return (km = Object.setPrototypeOf || function(e, t) {
                return e.__proto__ = t, e
            })(e, t)
        }
        var Em = function(e) {
            function t() {
                return function(e, t) {
                    if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function")
                }(this, t), jm(this, wm(t).apply(this, arguments))
            }
            var n, r, i;
            return function(e, t) {
                if ("function" !== typeof t && null !== t) throw new TypeError("Super expression must either be null or a function");
                e.prototype = Object.create(t && t.prototype, {
                    constructor: {
                        value: e,
                        writable: !0,
                        configurable: !0
                    }
                }), t && km(e, t)
            }(t, o["PureComponent"]), n = t, (r = [{
                key: "render",
                value: function() {
                    var e = this.props,
                        t = e.className,
                        n = e.tokens,
                        r = mm.a.getGroupedTokens(n);
                    return 0 === r.length ? null : a.a.createElement("div", {
                        className: Je()(vm.a.groupLabel, t)
                    }, r.map(function(e, t) {
                        var n = e.string,
                            r = e.style;
                        return a.a.createElement("span", {
                            className: r,
                            key: "node-label-token-".concat(t)
                        }, n)
                    }))
                }
            }]) && Om(n.prototype, r), i && Om(n, i), t
        }();
        Em.propTypes = {
            className: He.a.string,
            tokens: He.a.array.isRequired
        };
        var Sm = Em,
            xm = n("./app/js/components/RegexExplainer/RegexLabel.css"),
            Cm = n.n(xm);

        function Pm(e) {
            return (Pm = "function" === typeof Symbol && "symbol" === typeof Symbol.iterator ? function(e) {
                return typeof e
            } : function(e) {
                return e && "function" === typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e
            })(e)
        }

        function Tm(e, t) {
            for (var n = 0; n < t.length; n++) {
                var r = t[n];
                r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(e, r.key, r)
            }
        }

        function Rm(e, t) {
            return !t || "object" !== Pm(t) && "function" !== typeof t ? function(e) {
                if (void 0 === e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
                return e
            }(e) : t
        }

        function Nm(e) {
            return (Nm = Object.setPrototypeOf ? Object.getPrototypeOf : function(e) {
                return e.__proto__ || Object.getPrototypeOf(e)
            })(e)
        }

        function Mm(e, t) {
            return (Mm = Object.setPrototypeOf || function(e, t) {
                return e.__proto__ = t, e
            })(e, t)
        }
        var Am = function(e) {
            function t() {
                return function(e, t) {
                    if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function")
                }(this, t), Rm(this, Nm(t).apply(this, arguments))
            }
            var n, r, i;
            return function(e, t) {
                if ("function" !== typeof t && null !== t) throw new TypeError("Super expression must either be null or a function");
                e.prototype = Object.create(t && t.prototype, {
                    constructor: {
                        value: e,
                        writable: !0,
                        configurable: !0
                    }
                }), t && Mm(e, t)
            }(t, o["PureComponent"]), n = t, (r = [{
                key: "render",
                value: function() {
                    var e = this.props,
                        t = e.flags,
                        n = e.tokens,
                        r = e.delimiter;
                    return a.a.createElement("div", {
                        className: Cm.a.root
                    }, a.a.createElement("div", {
                        className: Je()(Cm.a.first, Cm.a.delimiter)
                    }, r), a.a.createElement(Sm, {
                        className: Cm.a.regex,
                        tokens: n
                    }), a.a.createElement("div", {
                        className: Je()(Cm.a.last, Cm.a.delimiter)
                    }, r), a.a.createElement("div", {
                        className: Cm.a.flags
                    }, t))
                }
            }]) && Tm(n.prototype, r), i && Tm(n, i), t
        }();
        Am.propTypes = {
            tokens: He.a.array.isRequired,
            delimiter: He.a.string.isRequired,
            flags: He.a.string.isRequired
        };
        var Im = Am;

        function Lm(e) {
            return (Lm = "function" === typeof Symbol && "symbol" === typeof Symbol.iterator ? function(e) {
                return typeof e
            } : function(e) {
                return e && "function" === typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e
            })(e)
        }

        function Dm() {
            return (Dm = Object.assign || function(e) {
                for (var t = 1; t < arguments.length; t++) {
                    var n = arguments[t];
                    for (var r in n) Object.prototype.hasOwnProperty.call(n, r) && (e[r] = n[r])
                }
                return e
            }).apply(this, arguments)
        }

        function qm(e, t) {
            if (null == e) return {};
            var n, r, o = function(e, t) {
                if (null == e) return {};
                var n, r, o = {},
                    a = Object.keys(e);
                for (r = 0; r < a.length; r++) n = a[r], t.indexOf(n) >= 0 || (o[n] = e[n]);
                return o
            }(e, t);
            if (Object.getOwnPropertySymbols) {
                var a = Object.getOwnPropertySymbols(e);
                for (r = 0; r < a.length; r++) n = a[r], t.indexOf(n) >= 0 || Object.prototype.propertyIsEnumerable.call(e, n) && (o[n] = e[n])
            }
            return o
        }

        function Fm(e, t) {
            for (var n = 0; n < t.length; n++) {
                var r = t[n];
                r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(e, r.key, r)
            }
        }

        function zm(e, t) {
            return !t || "object" !== Lm(t) && "function" !== typeof t ? function(e) {
                if (void 0 === e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
                return e
            }(e) : t
        }

        function Gm(e) {
            return (Gm = Object.setPrototypeOf ? Object.getPrototypeOf : function(e) {
                return e.__proto__ || Object.getPrototypeOf(e)
            })(e)
        }

        function Bm(e, t) {
            return (Bm = Object.setPrototypeOf || function(e, t) {
                return e.__proto__ = t, e
            })(e, t)
        }
        var Um = function(e) {
            function t() {
                return function(e, t) {
                    if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function")
                }(this, t), zm(this, Gm(t).apply(this, arguments))
            }
            var n, r, i;
            return function(e, t) {
                if ("function" !== typeof t && null !== t) throw new TypeError("Super expression must either be null or a function");
                e.prototype = Object.create(t && t.prototype, {
                    constructor: {
                        value: e,
                        writable: !0,
                        configurable: !0
                    }
                }), t && Bm(e, t)
            }(t, o["Component"]), n = t, (r = [{
                key: "addAlternator",
                value: function(e) {
                    return e.type === th.a ? e : []
                }
            }, {
                key: "render",
                value: function() {
                    var e = this,
                        t = this.props,
                        n = t.tokens,
                        r = qm(t, ["tokens"]),
                        o = n.reduce(function(t, n) {
                            return t.concat(e.addAlternator(n.token), n.nodeLabel)
                        }, []);
                    return a.a.createElement(Im, Dm({
                        tokens: o
                    }, r))
                }
            }]) && Fm(n.prototype, r), i && Fm(n, i), t
        }();
        Um.propTypes = {
            tokens: He.a.array.isRequired,
            delimiter: He.a.string.isRequired,
            flags: He.a.string.isRequired
        };
        var Hm = Um;

        function Wm(e) {
            return (Wm = "function" === typeof Symbol && "symbol" === typeof Symbol.iterator ? function(e) {
                return typeof e
            } : function(e) {
                return e && "function" === typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e
            })(e)
        }

        function Vm(e, t) {
            for (var n = 0; n < t.length; n++) {
                var r = t[n];
                r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(e, r.key, r)
            }
        }

        function Km(e, t) {
            return !t || "object" !== Wm(t) && "function" !== typeof t ? function(e) {
                if (void 0 === e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
                return e
            }(e) : t
        }

        function $m(e) {
            return ($m = Object.setPrototypeOf ? Object.getPrototypeOf : function(e) {
                return e.__proto__ || Object.getPrototypeOf(e)
            })(e)
        }

        function Ym(e, t) {
            return (Ym = Object.setPrototypeOf || function(e, t) {
                return e.__proto__ = t, e
            })(e, t)
        }
        var Jm = new Se.a,
            Qm = function(e) {
                function t() {
                    return function(e, t) {
                        if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function")
                    }(this, t), Km(this, $m(t).apply(this, arguments))
                }
                var n, r, i;
                return function(e, t) {
                    if ("function" !== typeof t && null !== t) throw new TypeError("Super expression must either be null or a function");
                    e.prototype = Object.create(t && t.prototype, {
                        constructor: {
                            value: e,
                            writable: !0,
                            configurable: !0
                        }
                    }), t && Ym(e, t)
                }(t, o["Component"]), n = t, (r = [{
                    key: "render",
                    value: function() {
                        var e = this.props,
                            t = e.regex,
                            n = e.flags,
                            r = e.delimiter,
                            o = e.flavor,
                            i = e.className;
                        Jm.parse(t, {
                            flags: n,
                            delimiter: r,
                            flavor: o
                        });
                        var s = Object(dm.g)(Jm.tokens, n),
                            c = a.a.createElement(Hm, {
                                tokens: s,
                                delimiter: r,
                                flags: n
                            });
                        return a.a.createElement("div", {
                            className: Je()(vm.a.root, i)
                        }, a.a.createElement(ym, {
                            nodeLabel: c
                        }, null != Jm.status ? this.renderErrorExplanation(Jm.tokens) : this.renderExplanationTree(s, 0, Jm.alternatives)))
                    }
                }, {
                    key: "renderExplanationTree",
                    value: function(e, t, n) {
                        var r = this;
                        return e.map(function(e, o) {
                            var i = e.token;
                            t++;
                            var s = Object(hm.b)(e, {
                                    alternatives: n
                                }),
                                c = s.explanation,
                                u = s.children,
                                l = void 0 === u ? null : u,
                                p = s.notice,
                                f = void 0 === p ? null : p,
                                y = s.string;
                            if (null == c) return r.renderExplanationTree(e.children, t, n);
                            if (i.children.length > 0 || th.ab(i.type)) {
                                var b = e.children.length,
                                    h = e.children[0];
                                if (0 === b || 1 === b && h.token.type === th.R || 1 === b && h.token.type === th.a && 0 === h.children.length) {
                                    var d = !th.cb(i.type);
                                    return a.a.createElement("div", {
                                        key: "null-match-".concat(i.string, "-").concat(o)
                                    }, r.renderNodeLabel(e, c), " ", a.a.createElement($e.s, {
                                        text: "{1}, matches any position",
                                        ph1: "\u2014 <em>null</em>"
                                    }), d ? f : "")
                                }
                            }
                            return e.children.length > 0 || th.ab(i.type) || !N.a.isEmpty(l) ? a.a.createElement(ym, {
                                nodeLabel: r.renderNodeLabel(e, c, f),
                                defaultCollapsed: t > 10,
                                key: "treeview-parent-".concat(i.children.length, "-").concat(o)
                            }, l, r.renderExplanationTree(e.children, t, n)) : a.a.createElement("div", {
                                key: "token-explanation-".concat(i.string, "-").concat(o)
                            }, a.a.createElement("span", {
                                className: Je()(i.style, vm.a.token)
                            }, Object(dm.b)(y || e.string)), " ", c, f)
                        })
                    }
                }, {
                    key: "renderNodeLabel",
                    value: function(e, t) {
                        var n = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : null,
                            r = e.token;
                        if (r.type === th.k) return a.a.createElement("strong", null, t);
                        var o = a.a.createElement(Sm, {
                            tokens: e.nodeLabel,
                            className: vm.a.tokenExplanation
                        });
                        return th.ab(r.type) || r.type === th.s ? a.a.createElement("span", null, a.a.cloneElement(t, {
                            className: Je()(vm.a.boldNodeLabel, vm.a.tokenExplanation)
                        }), " ", o, n) : a.a.createElement("span", null, o, " ", a.a.cloneElement(t, {
                            className: vm.a.nodeLabel
                        }), n)
                    }
                }, {
                    key: "renderErrorExplanation",
                    value: function(e) {
                        return a.a.createElement("div", {
                            key: "error-explanation-".concat(e.length)
                        }, a.a.createElement($e.o, {
                            style: {
                                margin: "5px 0"
                            }
                        }, Object(Ke.a)("All the errors detected are listed below, from left to right, as they appear in the pattern.")), Object(bm.b)(e))
                    }
                }]) && Vm(n.prototype, r), i && Vm(n, i), t
            }();
        Qm.propTypes = {
            regex: He.a.string.isRequired,
            flags: He.a.string.isRequired,
            delimiter: He.a.string.isRequired,
            flavor: He.a.string.isRequired,
            className: He.a.string
        };
        var Xm = Qm,
            Zm = n("./app/js/components/RightSidebar/Content/Placeholder.css"),
            eg = n.n(Zm);

        function tg(e) {
            return (tg = "function" === typeof Symbol && "symbol" === typeof Symbol.iterator ? function(e) {
                return typeof e
            } : function(e) {
                return e && "function" === typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e
            })(e)
        }

        function ng(e, t) {
            for (var n = 0; n < t.length; n++) {
                var r = t[n];
                r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(e, r.key, r)
            }
        }

        function rg(e, t) {
            return !t || "object" !== tg(t) && "function" !== typeof t ? function(e) {
                if (void 0 === e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
                return e
            }(e) : t
        }

        function og(e) {
            return (og = Object.setPrototypeOf ? Object.getPrototypeOf : function(e) {
                return e.__proto__ || Object.getPrototypeOf(e)
            })(e)
        }

        function ag(e, t) {
            return (ag = Object.setPrototypeOf || function(e, t) {
                return e.__proto__ = t, e
            })(e, t)
        }
        var ig = function(e) {
            function t() {
                return function(e, t) {
                    if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function")
                }(this, t), rg(this, og(t).apply(this, arguments))
            }
            var n, r, i;
            return function(e, t) {
                if ("function" !== typeof t && null !== t) throw new TypeError("Super expression must either be null or a function");
                e.prototype = Object.create(t && t.prototype, {
                    constructor: {
                        value: e,
                        writable: !0,
                        configurable: !0
                    }
                }), t && ag(e, t)
            }(t, o["PureComponent"]), n = t, (r = [{
                key: "render",
                value: function() {
                    return a.a.createElement("div", {
                        className: eg.a.root
                    }, this.props.text)
                }
            }]) && ng(n.prototype, r), i && ng(n, i), t
        }();
        ig.propTypes = {
            text: He.a.string.isRequired
        };
        var sg = ig,
            cg = n("./app/js/components/RightSidebar/Content/Explanation.css"),
            ug = n.n(cg);

        function lg(e) {
            return (lg = "function" === typeof Symbol && "symbol" === typeof Symbol.iterator ? function(e) {
                return typeof e
            } : function(e) {
                return e && "function" === typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e
            })(e)
        }

        function pg(e, t) {
            for (var n = 0; n < t.length; n++) {
                var r = t[n];
                r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(e, r.key, r)
            }
        }

        function fg(e, t) {
            return !t || "object" !== lg(t) && "function" !== typeof t ? function(e) {
                if (void 0 === e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
                return e
            }(e) : t
        }

        function yg(e) {
            return (yg = Object.setPrototypeOf ? Object.getPrototypeOf : function(e) {
                return e.__proto__ || Object.getPrototypeOf(e)
            })(e)
        }

        function bg(e, t) {
            return (bg = Object.setPrototypeOf || function(e, t) {
                return e.__proto__ = t, e
            })(e, t)
        }
        var hg = function(e) {
            function t() {
                return function(e, t) {
                    if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function")
                }(this, t), fg(this, yg(t).apply(this, arguments))
            }
            var n, r, i;
            return function(e, t) {
                if ("function" !== typeof t && null !== t) throw new TypeError("Super expression must either be null or a function");
                e.prototype = Object.create(t && t.prototype, {
                    constructor: {
                        value: e,
                        writable: !0,
                        configurable: !0
                    }
                }), t && bg(e, t)
            }(t, o["Component"]), n = t, (r = [{
                key: "render",
                value: function() {
                    var e = this.props,
                        t = e.regex,
                        n = e.flavor,
                        r = e.delimiter,
                        o = e.flags;
                    return null == t || 0 === t.length ? a.a.createElement(sg, {
                        text: Object(Ke.a)("An explanation of your regex will be automatically generated as you type.")
                    }) : a.a.createElement(Xm, {
                        regex: t,
                        flavor: n,
                        delimiter: r,
                        flags: o,
                        className: ug.a.root
                    })
                }
            }]) && pg(n.prototype, r), i && pg(n, i), t
        }();
        hg.propTypes = {
            delimiter: He.a.string.isRequired,
            flags: He.a.string.isRequired,
            regex: He.a.string.isRequired,
            flavor: He.a.string.isRequired
        };
        var dg = hg,
            mg = n("./app/js/components/utils/DebuggerLink.js"),
            gg = n("./app/js/styles/variables/lightTheme.js"),
            vg = n.n(gg),
            _g = n("./app/js/styles/variables/darkTheme.js"),
            Og = n.n(_g);

        function jg(e, t) {
            return (t === x ? vg.a : Og.a)["".concat(t, "_").concat(e)]
        }

        function wg(e, t) {
            var n = arguments.length > 2 && void 0 !== arguments[2] && arguments[2],
                r = (e - 1) % Be.c + 1;
            return jg(n && 0 === e ? "matchGroup_".concat(r, "_alt") : "matchGroup_".concat(r), t)
        }
        var kg, Eg, Sg, xg = n("./app/js/components/RightSidebar/Content/MatchGroup.css"),
            Cg = n.n(xg);

        function Pg(e) {
            return (Pg = "function" === typeof Symbol && "symbol" === typeof Symbol.iterator ? function(e) {
                return typeof e
            } : function(e) {
                return e && "function" === typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e
            })(e)
        }

        function Tg(e, t) {
            for (var n = 0; n < t.length; n++) {
                var r = t[n];
                r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(e, r.key, r)
            }
        }

        function Rg(e, t) {
            return !t || "object" !== Pg(t) && "function" !== typeof t ? function(e) {
                if (void 0 === e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
                return e
            }(e) : t
        }

        function Ng(e) {
            return (Ng = Object.setPrototypeOf ? Object.getPrototypeOf : function(e) {
                return e.__proto__ || Object.getPrototypeOf(e)
            })(e)
        }

        function Mg(e, t) {
            return (Mg = Object.setPrototypeOf || function(e, t) {
                return e.__proto__ = t, e
            })(e, t)
        }

        function Ag(e, t, n, r, o) {
            var a = {};
            return Object.keys(r).forEach(function(e) {
                a[e] = r[e]
            }), a.enumerable = !!a.enumerable, a.configurable = !!a.configurable, ("value" in a || a.initializer) && (a.writable = !0), a = n.slice().reverse().reduce(function(n, r) {
                return r(e, t, n) || n
            }, a), o && void 0 !== a.initializer && (a.value = a.initializer ? a.initializer.call(o) : void 0, a.initializer = void 0), void 0 === a.initializer && (Object.defineProperty(e, t, a), a = null), a
        }
        var Ig = 100,
            Lg = 5;
        var Dg = (Sg = Eg = function(e) {
                function t() {
                    var e, n;
                    ! function(e, t) {
                        if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function")
                    }(this, t);
                    for (var r = arguments.length, o = new Array(r), a = 0; a < r; a++) o[a] = arguments[a];
                    return (n = Rg(this, (e = Ng(t)).call.apply(e, [this].concat(o)))).state = {
                        showAllText: !1
                    }, n
                }
                var n, r, i;
                return function(e, t) {
                    if ("function" !== typeof t && null !== t) throw new TypeError("Super expression must either be null or a function");
                    e.prototype = Object.create(t && t.prototype, {
                        constructor: {
                            value: e,
                            writable: !0,
                            configurable: !0
                        }
                    }), t && Mg(e, t)
                }(t, o["PureComponent"]), n = t, (r = [{
                    key: "onMatchGroupClick",
                    value: function() {
                        _t.a.emit("matchGroup:click", this.props.group)
                    }
                }, {
                    key: "onContentClick",
                    value: function() {
                        this.setState(function(e) {
                            return {
                                showAllText: !e.showAllText
                            }
                        })
                    }
                }, {
                    key: "render",
                    value: function() {
                        var e, t = this.props,
                            n = t.group,
                            r = t.theme,
                            o = t.evenMatch,
                            i = t.showNonParticipatingGroups;
                        if (!n.isParticipating && !i) return null;
                        if (0 === n.groupNum) e = Object(Ke.a)("Full match");
                        else {
                            var s = n.groupName || Zb.a.captureGroupMap[n.groupNum];
                            e = Object(Ke.a)("Group {1}", isNaN(s) ? "`".concat(s, "`") : s + ".")
                        }
                        var c = void 0 !== n.start && n.isParticipating ? "".concat(n.start, "-").concat(n.end) : "n/a",
                            u = this.state.showAllText ? n.content : function(e) {
                                var t = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : 20;
                                if (null == e) return "";
                                var n = e.match(new RegExp("^.*".concat("\\n[^\\n]*".repeat(Lg - 1), "\\n")));
                                if (n) {
                                    var r = Math.min(n.index + n[0].length - 1, Ig);
                                    return e.slice(0, r) + "..."
                                }
                                return e.length > t + 3 ? e.slice(0, t) + "..." : e
                            }(n.content, Ig),
                            l = null != n.content && (n.content.length > Ig || (n.content.match(/\n/g) || []).length >= Lg);
                        return a.a.createElement("tr", {
                            className: n.isParticipating ? null : Cg.a.didNotParticipate
                        }, a.a.createElement("td", {
                            className: Je()(Cg.a.groupNum, null != n.start && n.isParticipating && Cg.a.clickable),
                            onClick: this.onMatchGroupClick
                        }, a.a.createElement("span", {
                            style: {
                                background: wg(n.groupNum, r, !o)
                            }
                        }, e)), a.a.createElement("td", {
                            className: Cg.a.matchPos
                        }, c), a.a.createElement("td", {
                            className: Je()(Cg.a.matchData, l && Cg.a.textTruncated),
                            onClick: l ? this.onContentClick : null
                        }, n.isParticipating ? u : Object(Ke.a)("group did not participate in match")))
                    }
                }]) && Tg(n.prototype, r), i && Tg(n, i), t
            }(), Eg.propTypes = {
                group: He.a.object.isRequired,
                theme: He.a.string.isRequired,
                showNonParticipatingGroups: He.a.bool.isRequired,
                evenMatch: He.a.bool.isRequired
            }, Ag((kg = Sg).prototype, "onMatchGroupClick", [vt.a], Object.getOwnPropertyDescriptor(kg.prototype, "onMatchGroupClick"), kg.prototype), Ag(kg.prototype, "onContentClick", [vt.a], Object.getOwnPropertyDescriptor(kg.prototype, "onContentClick"), kg.prototype), kg),
            qg = n("./app/js/components/RightSidebar/Content/MatchGroups.css"),
            Fg = n.n(qg);

        function zg(e) {
            return (zg = "function" === typeof Symbol && "symbol" === typeof Symbol.iterator ? function(e) {
                return typeof e
            } : function(e) {
                return e && "function" === typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e
            })(e)
        }

        function Gg(e, t) {
            for (var n = 0; n < t.length; n++) {
                var r = t[n];
                r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(e, r.key, r)
            }
        }

        function Bg(e, t) {
            return !t || "object" !== zg(t) && "function" !== typeof t ? function(e) {
                if (void 0 === e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
                return e
            }(e) : t
        }

        function Ug(e) {
            return (Ug = Object.setPrototypeOf ? Object.getPrototypeOf : function(e) {
                return e.__proto__ || Object.getPrototypeOf(e)
            })(e)
        }

        function Hg(e, t) {
            return (Hg = Object.setPrototypeOf || function(e, t) {
                return e.__proto__ = t, e
            })(e, t)
        }
        var Wg = function(e) {
            function t() {
                return function(e, t) {
                    if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function")
                }(this, t), Bg(this, Ug(t).apply(this, arguments))
            }
            var n, r, i;
            return function(e, t) {
                if ("function" !== typeof t && null !== t) throw new TypeError("Super expression must either be null or a function");
                e.prototype = Object.create(t && t.prototype, {
                    constructor: {
                        value: e,
                        writable: !0,
                        configurable: !0
                    }
                }), t && Hg(e, t)
            }(t, o["Component"]), n = t, (r = [{
                key: "render",
                value: function() {
                    var e = this.props,
                        t = e.groups,
                        n = e.matchId,
                        r = e.theme,
                        o = e.showNonParticipatingGroups,
                        i = e.isLast;
                    return a.a.createElement("div", {
                        className: Je()(!i && Fg.a.contentWrapper)
                    }, a.a.createElement("table", {
                        className: Fg.a.matchTable
                    }, a.a.createElement("thead", null, a.a.createElement("tr", null, a.a.createElement("th", {
                        colSpan: "3",
                        className: Fg.a.matchHeader
                    }, Object(Ke.a)("Match {1}", n + 1)))), a.a.createElement("tbody", null, t.map(function(e, t) {
                        return a.a.createElement(Dg, {
                            key: "match-".concat(n, "-group-").concat(t),
                            group: e,
                            theme: r,
                            showNonParticipatingGroups: o,
                            evenMatch: n % 2 === 0
                        })
                    }))))
                }
            }]) && Gg(n.prototype, r), i && Gg(n, i), t
        }();
        Wg.propTypes = {
            groups: He.a.array.isRequired,
            matchId: He.a.number.isRequired,
            theme: He.a.string.isRequired,
            showNonParticipatingGroups: He.a.bool.isRequired,
            isLast: He.a.bool.isRequired
        };
        var Vg = Wg,
            Kg = n("./app/js/components/RightSidebar/Content/MatchInfo.css"),
            $g = n.n(Kg);

        function Yg(e) {
            return (Yg = "function" === typeof Symbol && "symbol" === typeof Symbol.iterator ? function(e) {
                return typeof e
            } : function(e) {
                return e && "function" === typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e
            })(e)
        }

        function Jg(e, t) {
            for (var n = 0; n < t.length; n++) {
                var r = t[n];
                r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(e, r.key, r)
            }
        }

        function Qg(e, t) {
            return !t || "object" !== Yg(t) && "function" !== typeof t ? function(e) {
                if (void 0 === e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
                return e
            }(e) : t
        }

        function Xg(e) {
            return (Xg = Object.setPrototypeOf ? Object.getPrototypeOf : function(e) {
                return e.__proto__ || Object.getPrototypeOf(e)
            })(e)
        }

        function Zg(e, t) {
            return (Zg = Object.setPrototypeOf || function(e, t) {
                return e.__proto__ = t, e
            })(e, t)
        }
        var ev = function(e) {
            function t() {
                return function(e, t) {
                    if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function")
                }(this, t), Qg(this, Xg(t).apply(this, arguments))
            }
            var n, r, i;
            return function(e, t) {
                if ("function" !== typeof t && null !== t) throw new TypeError("Super expression must either be null or a function");
                e.prototype = Object.create(t && t.prototype, {
                    constructor: {
                        value: e,
                        writable: !0,
                        configurable: !0
                    }
                }), t && Zg(e, t)
            }(t, o["PureComponent"]), n = t, (r = [{
                key: "render",
                value: function() {
                    switch (this.props.matchError) {
                        case un.a:
                            return a.a.createElement("div", {
                                className: $g.a.noMatch
                            }, Object(Ke.a)("Your pattern contains one or more errors, please see the explanation section above."));
                        case un.g:
                            return a.a.createElement("div", {
                                className: $g.a.noMatch
                            }, Object(Ke.a)("Your expression took too long to finish and was terminated. Please increase the timeout and try again."));
                        case un.c:
                            return a.a.createElement("div", {
                                className: $g.a.noMatch
                            }, Object(Ke.a)("Catastrophic backtracking has been detected and the execution of your expression has been halted. To find out more what this is, please read the following article:"), " ", a.a.createElement($e.l, {
                                to: "http://www.regular-expressions.info/catastrophic.html",
                                absolute: !0
                            }, "Runaway Regular Expressions"), a.a.createElement("br", null), a.a.createElement("br", null), Object(Ke.a)("I recommend you launch the debugger in the menu to the left and analyze the data to find out the cause."));
                        case un.b:
                            return a.a.createElement("div", {
                                className: $g.a.noMatch
                            }, Object(Ke.a)("The match was halted because the offset does not point to the beginning of a valid UTF-16 character."));
                        case un.e:
                            return a.a.createElement("div", {
                                className: $g.a.noMatch
                            }, Object(Ke.a)("The match was halted because your expression contains a recursive loop. This means either that the whole pattern, or a subpattern, has been called recursively for the second time at the same position in the subject string."));
                        case un.f:
                            return a.a.createElement("div", {
                                className: $g.a.noMatch
                            }, Object(Ke.a)("The internal recursion limit was reached."));
                        default:
                            return a.a.createElement("div", {
                                className: $g.a.noMatch
                            }, Object(Ke.a)("Your expression caused an unhandled error:"), a.a.createElement("br", null), a.a.createElement("br", null), " ", a.a.createElement("strong", null, this.props.matchError))
                    }
                }
            }]) && Jg(n.prototype, r), i && Jg(n, i), t
        }();
        ev.propTypes = {
            matchError: He.a.oneOfType([He.a.string, He.a.number]).isRequired
        };
        var tv = ev,
            nv = n("./app/js/components/SettingsPage/Setting.css"),
            rv = n.n(nv);

        function ov(e) {
            return (ov = "function" === typeof Symbol && "symbol" === typeof Symbol.iterator ? function(e) {
                return typeof e
            } : function(e) {
                return e && "function" === typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e
            })(e)
        }

        function av(e, t) {
            for (var n = 0; n < t.length; n++) {
                var r = t[n];
                r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(e, r.key, r)
            }
        }

        function iv(e, t) {
            return !t || "object" !== ov(t) && "function" !== typeof t ? function(e) {
                if (void 0 === e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
                return e
            }(e) : t
        }

        function sv(e) {
            return (sv = Object.setPrototypeOf ? Object.getPrototypeOf : function(e) {
                return e.__proto__ || Object.getPrototypeOf(e)
            })(e)
        }

        function cv(e, t) {
            return (cv = Object.setPrototypeOf || function(e, t) {
                return e.__proto__ = t, e
            })(e, t)
        }
        var uv = function(e) {
            function t() {
                return function(e, t) {
                    if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function")
                }(this, t), iv(this, sv(t).apply(this, arguments))
            }
            var n, r, i;
            return function(e, t) {
                if ("function" !== typeof t && null !== t) throw new TypeError("Super expression must either be null or a function");
                e.prototype = Object.create(t && t.prototype, {
                    constructor: {
                        value: e,
                        writable: !0,
                        configurable: !0
                    }
                }), t && cv(e, t)
            }(t, o["PureComponent"]), n = t, (r = [{
                key: "render",
                value: function() {
                    var e = this.props,
                        t = e.className,
                        n = e.children;
                    return a.a.createElement("label", {
                        className: Je()(rv.a.setting, t)
                    }, n)
                }
            }]) && av(n.prototype, r), i && av(n, i), t
        }();
        uv.propTypes = {
            children: He.a.node.isRequired,
            className: He.a.string
        };
        var lv = uv,
            pv = {
                JSON: "JSON",
                CSV: "CSV",
                TEXT: "TEXT"
            };
        var fv = function(e, t, n) {
                var r = function(e, t) {
                    return e.map(function(e) {
                        return e.map(function(e) {
                            var n = e.start,
                                r = e.end,
                                o = e.content,
                                a = e.isParticipating,
                                i = e.groupNum;
                            if (!t && 0 === i) return null;
                            var s = e.groupName || Zb.a.captureGroupMap[i],
                                c = {
                                    content: o,
                                    isParticipating: a,
                                    groupNum: i,
                                    groupName: s || null
                                };
                            return null != e.start && (c = N.a.extend(c, {
                                startPos: n,
                                endPos: r
                            })), c
                        }).filter(Boolean)
                    })
                }(t, n);
                switch (e) {
                    case pv.JSON:
                        return JSON.stringify(r, null, 2);
                    case pv.CSV:
                        return function(e) {
                            var t = "",
                                n = !1;
                            return e.forEach(function(e, r) {
                                e.forEach(function(e) {
                                    t += r + 1 + "," + (null != e.groupName ? e.groupName : e.groupNum) + "," + (e.isParticipating ? "yes" : "no") + ",", null != e.startPos && (t += e.startPos + "," + e.endPos + ",", n = !0), null != e.content && (-1 !== e.content.indexOf(",") ? t += '"'.concat(e.content.replace(/"/g, '""'), '"') : t += e.content), t += "\n"
                                })
                            }), "match,group,is_participating" + (n ? ",start,end" : "") + ",content\n" + t
                        }(r);
                    default:
                        return function(e) {
                            return e.map(function(e) {
                                return e.filter(function(e) {
                                    return e.isParticipating
                                }).map(function(e) {
                                    return e.content
                                }).join("\n")
                            }).join("\n")
                        }(r)
                }
            },
            yv = n("./app/js/components/Modal/ExportMatchModal/ExportMatchModal.css"),
            bv = n.n(yv);

        function hv(e, t) {
            return function(e) {
                if (Array.isArray(e)) return e
            }(e) || function(e, t) {
                var n = [],
                    r = !0,
                    o = !1,
                    a = void 0;
                try {
                    for (var i, s = e[Symbol.iterator](); !(r = (i = s.next()).done) && (n.push(i.value), !t || n.length !== t); r = !0);
                } catch (c) {
                    o = !0, a = c
                } finally {
                    try {
                        r || null == s.return || s.return()
                    } finally {
                        if (o) throw a
                    }
                }
                return n
            }(e, t) || function() {
                throw new TypeError("Invalid attempt to destructure non-iterable instance")
            }()
        }
        var dv = function(e) {
            var t = hv(Object(o.useState)(pv.JSON), 2),
                n = t[0],
                r = t[1],
                i = hv(Object(o.useState)(!0), 2),
                s = i[0],
                c = i[1],
                u = Object(o.useRef)(null),
                l = e.matchData,
                p = e.isOpen,
                f = e.onModalClose,
                y = Object(o.useMemo)(function() {
                    return fv(n, l, s)
                }, [l, s, n]);
            return a.a.createElement(qo, {
                onModalClose: f,
                isOpen: p
            }, a.a.createElement(Ho, {
                titleIcon: "export"
            }, Object(Ke.a)("Export Matches")), a.a.createElement(Jo, null, a.a.createElement("div", {
                className: bv.a.root
            }, a.a.createElement($e.c, {
                header: a.a.createElement($e.k, {
                    text: Object(Ke.a)("Export Method")
                }),
                className: bv.a.listMenu
            }, a.a.createElement(Mn, null, a.a.createElement(Yr, {
                isActive: n === pv.JSON,
                icon: "file-code",
                onClick: function() {
                    return r(pv.JSON)
                }
            }, "JSON"), a.a.createElement(Yr, {
                isActive: n === pv.CSV,
                icon: "file-excel",
                onClick: function() {
                    return r(pv.CSV)
                }
            }, "CSV"), a.a.createElement(Yr, {
                isActive: n === pv.TEXT,
                icon: "doc-text",
                onClick: function() {
                    return r(pv.TEXT)
                }
            }, Object(Ke.a)("Plain Text")))), a.a.createElement($e.c, {
                className: bv.a.dataContainer,
                header: a.a.createElement($e.k, {
                    text: Object(Ke.a)("Data")
                })
            }, a.a.createElement("div", {
                className: bv.a.contentWrapper
            }, a.a.createElement(Ff, {
                className: bv.a.contents,
                ref: u
            }, y, a.a.createElement($e.g, {
                topPadding: 5,
                rightPos: 5
            }, a.a.createElement($e.d, {
                getCopyComponent: function() {
                    return u.current
                },
                className: bv.a.copyButton
            }))), a.a.createElement(lv, {
                className: bv.a.includeFullMatch
            }, a.a.createElement("input", {
                type: "checkbox",
                checked: s,
                onChange: function() {
                    return c(!s)
                }
            }), Object(Ke.a)("Include full match in exported data")))))), a.a.createElement(aa, null, a.a.createElement($e.a, {
                text: Object(Ke.a)("Close"),
                onClick: f,
                type: Ot.e.CANCEL
            })))
        };
        dv.propTypes = {
            onModalClose: He.a.func.isRequired,
            isOpen: He.a.bool.isRequired,
            matchData: He.a.array.isRequired
        };
        var mv, gv, vv, _v = dv,
            Ov = n("./app/js/components/RightSidebar/Content/ExportMatchButton.css"),
            jv = n.n(Ov);

        function wv(e) {
            return (wv = "function" === typeof Symbol && "symbol" === typeof Symbol.iterator ? function(e) {
                return typeof e
            } : function(e) {
                return e && "function" === typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e
            })(e)
        }

        function kv(e, t) {
            for (var n = 0; n < t.length; n++) {
                var r = t[n];
                r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(e, r.key, r)
            }
        }

        function Ev(e, t) {
            return !t || "object" !== wv(t) && "function" !== typeof t ? function(e) {
                if (void 0 === e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
                return e
            }(e) : t
        }

        function Sv(e) {
            return (Sv = Object.setPrototypeOf ? Object.getPrototypeOf : function(e) {
                return e.__proto__ || Object.getPrototypeOf(e)
            })(e)
        }

        function xv(e, t) {
            return (xv = Object.setPrototypeOf || function(e, t) {
                return e.__proto__ = t, e
            })(e, t)
        }

        function Cv(e, t, n, r, o) {
            var a = {};
            return Object.keys(r).forEach(function(e) {
                a[e] = r[e]
            }), a.enumerable = !!a.enumerable, a.configurable = !!a.configurable, ("value" in a || a.initializer) && (a.writable = !0), a = n.slice().reverse().reduce(function(n, r) {
                return r(e, t, n) || n
            }, a), o && void 0 !== a.initializer && (a.value = a.initializer ? a.initializer.call(o) : void 0, a.initializer = void 0), void 0 === a.initializer && (Object.defineProperty(e, t, a), a = null), a
        }
        var Pv, Tv, Rv, Nv, Mv = (vv = gv = function(e) {
            function t() {
                var e, n;
                ! function(e, t) {
                    if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function")
                }(this, t);
                for (var r = arguments.length, o = new Array(r), a = 0; a < r; a++) o[a] = arguments[a];
                return (n = Ev(this, (e = Sv(t)).call.apply(e, [this].concat(o)))).state = {
                    showExportModal: !1
                }, n
            }
            var n, r, i;
            return function(e, t) {
                if ("function" !== typeof t && null !== t) throw new TypeError("Super expression must either be null or a function");
                e.prototype = Object.create(t && t.prototype, {
                    constructor: {
                        value: e,
                        writable: !0,
                        configurable: !0
                    }
                }), t && xv(e, t)
            }(t, o["Component"]), n = t, (r = [{
                key: "shouldComponentUpdate",
                value: function(e, t) {
                    return this.state.showExportModal || t.showExportModal
                }
            }, {
                key: "onExportButtonClick",
                value: function() {
                    this.setState({
                        showExportModal: !0
                    })
                }
            }, {
                key: "onCloseExportModal",
                value: function() {
                    this.setState({
                        showExportModal: !1
                    })
                }
            }, {
                key: "render",
                value: function() {
                    return a.a.createElement($e.g, null, a.a.createElement($e.v, {
                        direction: Ot.b.NW,
                        text: Object(Ke.a)("Export Matches"),
                        className: jv.a.exportMatch,
                        onClick: this.onExportButtonClick
                    }, a.a.createElement($e.i, {
                        icon: "export"
                    })), a.a.createElement(_v, {
                        isOpen: this.state.showExportModal,
                        onModalClose: this.onCloseExportModal,
                        matchData: this.props.matchData
                    }))
                }
            }]) && kv(n.prototype, r), i && kv(n, i), t
        }(), gv.propTypes = {
            matchData: He.a.array.isRequired
        }, Cv((mv = vv).prototype, "onExportButtonClick", [vt.a], Object.getOwnPropertyDescriptor(mv.prototype, "onExportButtonClick"), mv.prototype), Cv(mv.prototype, "onCloseExportModal", [vt.a], Object.getOwnPropertyDescriptor(mv.prototype, "onCloseExportModal"), mv.prototype), mv);

        function Av(e) {
            return (Av = "function" === typeof Symbol && "symbol" === typeof Symbol.iterator ? function(e) {
                return typeof e
            } : function(e) {
                return e && "function" === typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e
            })(e)
        }

        function Iv(e, t) {
            for (var n = 0; n < t.length; n++) {
                var r = t[n];
                r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(e, r.key, r)
            }
        }

        function Lv(e, t) {
            return !t || "object" !== Av(t) && "function" !== typeof t ? function(e) {
                if (void 0 === e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
                return e
            }(e) : t
        }

        function Dv(e) {
            return (Dv = Object.setPrototypeOf ? Object.getPrototypeOf : function(e) {
                return e.__proto__ || Object.getPrototypeOf(e)
            })(e)
        }

        function qv(e, t) {
            return (qv = Object.setPrototypeOf || function(e, t) {
                return e.__proto__ = t, e
            })(e, t)
        }
        var Fv = Object(We.b)(function(e) {
                return {
                    matchResult: e.regexEditor.matchResult,
                    regex: e.regexEditor.regex,
                    theme: e.settings.theme,
                    error: e.regexEditor.error,
                    nonParticipatingGroups: e.settings.nonParticipatingGroups
                }
            })((Nv = Rv = function(e) {
                function t(e) {
                    var n;
                    return function(e, t) {
                        if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function")
                    }(this, t), (n = Lv(this, Dv(t).call(this, e))).MAX_ITEMS = 25, n.state = {
                        maxItems: n.MAX_ITEMS
                    }, n._ref = null, n.onScroll = N.a.throttle(n.onScroll, 200), n
                }
                var n, r, s;
                return function(e, t) {
                    if ("function" !== typeof t && null !== t) throw new TypeError("Super expression must either be null or a function");
                    e.prototype = Object.create(t && t.prototype, {
                        constructor: {
                            value: e,
                            writable: !0,
                            configurable: !0
                        }
                    }), t && qv(e, t)
                }(t, o["Component"]), n = t, (r = [{
                    key: "onScroll",
                    value: function() {
                        if (this._ref) {
                            var e = this._ref,
                                t = e.scrollTop,
                                n = e.scrollHeight,
                                r = e.offsetHeight;
                            this.props.matchResult.data.length > this.state.maxItems && t >= .9 * (n - r) && this.setState({
                                maxItems: 2 * this.state.maxItems
                            })
                        }
                    }
                }, {
                    key: "render",
                    value: function() {
                        var e = this,
                            t = this.props,
                            n = t.matchResult,
                            r = t.regex,
                            o = t.error,
                            s = t.theme,
                            c = t.nonParticipatingGroups,
                            u = n.data;
                        if (null != o) return a.a.createElement(tv, {
                            matchError: o
                        });
                        if (N.a.isEmpty(u)) return "" === r ? a.a.createElement(sg, {
                            text: Object(Ke.a)("Detailed match information will be displayed here automatically.")
                        }) : a.a.createElement("div", {
                            className: $g.a.noMatch
                        }, Object(Ke.a)("Your regular expression does not match the subject string."), a.a.createElement(mg.a, {
                            className: $g.a.debuggerLink
                        }, Object(Ke.a)("Try launching the debugger to find out why.")));
                        for (var l = this.state.maxItems, p = !0, f = [], y = 0, b = u.length; y < b && !(y > l); y++) {
                            var h = u[y];
                            p = !1, f.push(a.a.createElement(Vg, {
                                key: "match-".concat(y),
                                groups: h,
                                matchId: y,
                                theme: s,
                                showNonParticipatingGroups: c,
                                isLast: y === l || y + 1 === b
                            }))
                        }
                        return p ? a.a.createElement("div", null, a.a.createElement("div", null, Object(Ke.a)("No match groups were extracted.")), a.a.createElement("div", {
                            className: $g.a.noGroupsExplain
                        }, Object(Ke.a)("This means that your pattern did match but there were no capturing groups that matched anything in the subject string."))) : a.a.createElement("div", {
                            className: $g.a.matchResult,
                            onScroll: this.onScroll,
                            ref: function(t) {
                                t && (e._ref = Object(i.findDOMNode)(t))
                            }
                        }, f, a.a.createElement(Mv, {
                            matchData: u,
                            className: $g.a.exportButton
                        }))
                    }
                }]) && Iv(n.prototype, r), s && Iv(n, s), t
            }(), Rv.propTypes = {
                matchResult: He.a.object.isRequired,
                regex: He.a.string.isRequired,
                theme: He.a.string.isRequired,
                error: He.a.oneOfType([He.a.string, He.a.number]),
                nonParticipatingGroups: He.a.bool.isRequired
            }, function(e, t, n, r, o) {
                var a = {};
                Object.keys(r).forEach(function(e) {
                    a[e] = r[e]
                }), a.enumerable = !!a.enumerable, a.configurable = !!a.configurable, ("value" in a || a.initializer) && (a.writable = !0), a = n.slice().reverse().reduce(function(n, r) {
                    return r(e, t, n) || n
                }, a), o && void 0 !== a.initializer && (a.value = a.initializer ? a.initializer.call(o) : void 0, a.initializer = void 0), void 0 === a.initializer && (Object.defineProperty(e, t, a), a = null)
            }((Tv = Nv).prototype, "onScroll", [vt.a], Object.getOwnPropertyDescriptor(Tv.prototype, "onScroll"), Tv.prototype), Pv = Tv)) || Pv,
            zv = "ALL_TOKENS",
            Gv = "COMMON_TOKENS",
            Bv = "GENERAL_TOKENS",
            Uv = "ANCHORS",
            Hv = "META_SEQUENCES",
            Wv = "QUANTIFIERS",
            Vv = "GROUP_CONSTRUCTS",
            Kv = "CHARACTER_CLASSES",
            $v = "FLAGS_MODIFIERS",
            Yv = "SUBSTITUTION",
            Jv = n("./app/js/parsers/ExplanationEngine/tokenStyles.css"),
            Qv = n.n(Jv),
            Xv = n("./app/js/components/RightSidebar/Content/QuickrefData.css"),
            Zv = n.n(Xv);

        function e_(e, t, n) {
            return t in e ? Object.defineProperty(e, t, {
                value: n,
                enumerable: !0,
                configurable: !0,
                writable: !0
            }) : e[t] = n, e
        }
        var t_, n_, r_, o_ = function() {
                var e, t = (e_(e = {}, Bv, [{
                    token: "\\n",
                    desc: Object(Ke.a)("Newline"),
                    info: a.a.createElement("div", null, Object(Ke.a)("Matches a newline character")),
                    example: a.a.createElement("div", null, "First line", a.a.createElement("br", null), a.a.createElement("span", null), a.a.createElement("br", null), "Third line", a.a.createElement("br", null)),
                    keywords: ["enter", "new paragraph", "paragraph break", "line break"],
                    flavors: [_.a.JAVASCRIPT, _.a.PYTHON, _.a.PCRE, _.a.GOLANG]
                }, {
                    token: "\\r",
                    desc: Object(Ke.a)("Carriage return"),
                    info: a.a.createElement("div", null, Object(Ke.a)("Matches a carriage return character, unicode character 2185.")),
                    keywords: ["13", "&carr;", "U+21B5", "u21B5"],
                    flavors: [_.a.JAVASCRIPT, _.a.PYTHON, _.a.PCRE, _.a.GOLANG]
                }, {
                    token: "\\t",
                    desc: Object(Ke.a)("Tab"),
                    info: a.a.createElement("div", null, Object(Ke.a)("Matches a tab character. Historically, tab stops happen every 8 characters.")),
                    example: a.a.createElement($e.s, {
                        tag: "div",
                        text: "Here comes a {1} tab character.",
                        ph1: "<span className={styles.group0}>        </span>"
                    }),
                    keywords: ["indent"],
                    flavors: [_.a.JAVASCRIPT, _.a.PYTHON, _.a.PCRE, _.a.GOLANG]
                }, {
                    token: "\\0",
                    desc: Object(Ke.a)("Null character"),
                    info: a.a.createElement("div", null, Object(Ke.a)("Matches a null character, most often visually represented in unicode using U+2400.")),
                    keywords: ["U+2400", "u2400", "U+0000", "u0000", "^@"],
                    flavors: [_.a.JAVASCRIPT, _.a.PYTHON, _.a.PCRE, _.a.GOLANG]
                }]), e_(e, Kv, [{
                    token: "[abc]",
                    basic: !0,
                    desc: Object(Ke.a)("A single character of: a, b or c"),
                    example: a.a.createElement("div", null, a.a.createElement("span", {
                        className: Zv.a.group0
                    }, "a"), " ", a.a.createElement("span", {
                        className: Zv.a.group0
                    }, "bb"), " ", a.a.createElement("span", {
                        className: Zv.a.group0
                    }, "ccc")),
                    exampleRegex: "[abc]+",
                    regexFlags: "g",
                    info: a.a.createElement("div", null, Object(Ke.a)("Matches either an a, b or c character")),
                    keywords: ["specific", "letters", "alphabet"],
                    flavors: [_.a.JAVASCRIPT, _.a.PYTHON, _.a.PCRE, _.a.GOLANG]
                }, {
                    token: "[^abc]",
                    basic: !0,
                    desc: Object(Ke.a)("A character except: a, b or c"),
                    example: a.a.createElement("div", null, a.a.createElement("span", {
                        className: Zv.a.group0
                    }, "Anything "), "b", a.a.createElement("span", {
                        className: Zv.a.group0
                    }, "ut "), "abc", a.a.createElement("span", {
                        className: Zv.a.group0
                    }, ".")),
                    exampleRegex: "[^abc]+",
                    regexFlags: "g",
                    info: a.a.createElement("div", null, Object(Ke.a)("Matches any character except for an a, b or c")),
                    keywords: ["anything except", "anything but", "letter range", "letters", "alphabet"],
                    flavors: [_.a.JAVASCRIPT, _.a.PYTHON, _.a.PCRE, _.a.GOLANG]
                }, {
                    token: "[a-z]",
                    basic: !0,
                    desc: Object(Ke.a)("A character in the range: a-z"),
                    example: a.a.createElement("div", null, "O", a.a.createElement("span", {
                        className: Zv.a.group0
                    }, "nly"), " ", a.a.createElement("span", {
                        className: Zv.a.group0
                    }, "a"), "-", a.a.createElement("span", {
                        className: Zv.a.group0
                    }, "z")),
                    exampleRegex: "[a-z]+",
                    regexFlags: "g",
                    info: a.a.createElement("div", null, Object(Ke.a)("Matches any characters between a and z, including a and z.")),
                    keywords: ["letter range", "letters", "alphabet"],
                    flavors: [_.a.JAVASCRIPT, _.a.PYTHON, _.a.PCRE, _.a.GOLANG]
                }, {
                    token: "[^a-z]",
                    basic: !0,
                    desc: Object(Ke.a)("A character not in the range: a-z"),
                    example: a.a.createElement("div", null, a.a.createElement("span", {
                        className: Zv.a.group0
                    }, "A"), "nything", a.a.createElement("span", {
                        className: Zv.a.group0
                    }, " "), "but", a.a.createElement("span", {
                        className: Zv.a.group0
                    }, " "), "a", a.a.createElement("span", {
                        className: Zv.a.group0
                    }, "-"), "z", a.a.createElement("span", {
                        className: Zv.a.group0
                    }, ".")),
                    exampleRegex: "[^a-z]+",
                    regexFlags: "g",
                    info: a.a.createElement("div", null, Object(Ke.a)("Matches any characters except those in the range a-z.")),
                    keywords: ["letter range", "letters", "alphabet"],
                    flavors: [_.a.JAVASCRIPT, _.a.PYTHON, _.a.PCRE, _.a.GOLANG]
                }, {
                    token: "[a-zA-Z]",
                    basic: !0,
                    desc: Object(Ke.a)("A character in the range: a-z or A-Z"),
                    example: a.a.createElement("div", null, a.a.createElement("span", {
                        className: Zv.a.group0
                    }, "abc"), "123", a.a.createElement("span", {
                        className: Zv.a.group0
                    }, "DEF")),
                    exampleRegex: "[a-zA-Z]+",
                    regexFlags: "g",
                    info: a.a.createElement("div", null, Object(Ke.a)("Matches any characters between a-z or A-Z. You can combine as much as you please.")),
                    keywords: ["letter range", "letters", "alphabet", "uppercase", "lowercase"],
                    flavors: [_.a.JAVASCRIPT, _.a.PYTHON, _.a.PCRE, _.a.GOLANG]
                }, {
                    token: "[[:alnum:]]",
                    desc: Object(Ke.a)("Letters and digits"),
                    example: a.a.createElement("div", null, a.a.createElement("span", {
                        className: Zv.a.group0
                    }, "1st"), ",", " ", a.a.createElement("span", {
                        className: Zv.a.group0
                    }, "2nd"), ",", " ", a.a.createElement("span", {
                        className: Zv.a.group0
                    }, "and"), " ", a.a.createElement("span", {
                        className: Zv.a.group0
                    }, "3rd"), "."),
                    exampleRegex: "[[:alnum:]]+",
                    regexFlags: "g",
                    info: a.a.createElement("div", null, Object(Ke.a)("An alternate way to match any letter or digit. Equivalent to [A-Za-z0-9]. [[:alnum:]] is a POSIX notation and it needs to be inside a [character class] notation.")),
                    keywords: ["posix", "numbers", "digits", "letter range", "letters", "alphabet", "uppercase", "lowercase"],
                    flavors: [_.a.PCRE, _.a.GOLANG]
                }, {
                    token: "[[:alpha:]]",
                    desc: Object(Ke.a)("Letters"),
                    example: a.a.createElement("div", null, a.a.createElement("span", {
                        className: Zv.a.group0
                    }, "hello"), ",", " ", a.a.createElement("span", {
                        className: Zv.a.group0
                    }, "there"), "!"),
                    exampleRegex: "[[:alpha:]]+",
                    regexFlags: "g",
                    info: a.a.createElement("div", null, Object(Ke.a)("An alternate way to match alphabet letters. Equivalent to [A-Za-z]. [[:alpha:]] is a POSIX notation and it needs to be inside a [character class] notation.")),
                    keywords: ["posix", "letter range", "letters", "alphabet", "uppercase", "lowercase"],
                    flavors: [_.a.PCRE, _.a.GOLANG]
                }, {
                    token: "[[:ascii:]]",
                    desc: Object(Ke.a)("ASCII codes 0-127"),
                    info: a.a.createElement("div", null, Object(Ke.a)("Matches any character in the valid ASCII range. Equivalent to [\0-\x7f]. [[:ascii:]] is a POSIX notation and it needs to be inside a [character class] notation.")),
                    example: a.a.createElement("div", null, a.a.createElement("span", {
                        className: Zv.a.group0
                    }, "Any basic latin character. "), "\xe9", a.a.createElement("span", {
                        className: Zv.a.group0
                    }, " is not one of them.")),
                    exampleRegex: "[[:ascii:]]+",
                    regexFlags: "g",
                    keywords: ["posix", "ascii", "numbers", "digits", "letter range", "letters", "alphabet", "uppercase", "lowercase", "latin"],
                    flavors: [_.a.PCRE, _.a.GOLANG]
                }, {
                    token: "[[:blank:]]",
                    desc: Object(Ke.a)("Space or tab only"),
                    example: a.a.createElement("div", null, "a", a.a.createElement("span", {
                        className: Zv.a.group0
                    }, " "), "b", a.a.createElement("span", {
                        className: Zv.a.group0
                    }, " "), "c"),
                    exampleRegex: "[[:blank:]]",
                    regexFlags: "g",
                    info: a.a.createElement("div", null, Object(Ke.a)("Matches spaces and tabs (but not newlines). Equivalent to [ \t]. [[:blank:]] is a POSIX notation and it needs to be inside a [character class] notation.")),
                    keywords: ["posix", "spaces", "tabs"],
                    flavors: [_.a.PCRE, _.a.GOLANG]
                }, {
                    token: "[[:cntrl:]]",
                    desc: Object(Ke.a)("Control characters"),
                    info: a.a.createElement("div", null, Object(Ke.a)("Matches characters that are often used to control text presentation, including newlines, null characters, tabs and the escape character. Equivalent to [\\x00-\\x1F\\x7F]. [[:cntrl:]] is a POSIX notation and it needs to be inside a [character class] notation.")),
                    keywords: ["posix", "\\t", "\\n", "newlines", "tabs", "escape", "esc", "sequence"],
                    flavors: [_.a.PCRE, _.a.GOLANG]
                }, {
                    token: "[[:digit:]]",
                    desc: Object(Ke.a)("Decimal digits"),
                    example: a.a.createElement("div", null, "one: ", a.a.createElement("span", {
                        className: Zv.a.group0
                    }, "1"), ", two:", " ", a.a.createElement("span", {
                        className: Zv.a.group0
                    }, "2")),
                    exampleRegex: "[[:digit:]]",
                    regexFlags: "g",
                    info: a.a.createElement("div", null, Object(Ke.a)("Matches decimal digits. Equivalent to [0-9]. [[:digit:]] is a POSIX notation and it needs to be inside a [character class] notation.")),
                    keywords: ["posix", "numbers", "digits", "numeric"],
                    flavors: [_.a.PCRE, _.a.GOLANG]
                }, {
                    token: "[[:graph:]]",
                    desc: Object(Ke.a)("Visible characters (not space)"),
                    info: a.a.createElement("div", null, Object(Ke.a)("Matches printable, non-whitespace, non-control characters only. Equivalent to [!-~]. [[:graph:]] is a POSIX notation and it needs to be inside a [character class] notation.")),
                    example: a.a.createElement("div", null, a.a.createElement("span", {
                        className: Zv.a.group0
                    }, "A|m0st"), " \xe9", a.a.createElement("span", {
                        className: Zv.a.group0
                    }, "verything"), " ", a.a.createElement("span", {
                        className: Zv.a.group0
                    }, "goes.")),
                    exampleRegex: "[[:graph:]]+",
                    regexFlags: "g",
                    keywords: ["punctuation", "posix", "visible", "printable", "letters"],
                    flavors: [_.a.PCRE, _.a.GOLANG]
                }, {
                    token: "[[:lower:]]",
                    desc: Object(Ke.a)("Lowercase letters"),
                    example: a.a.createElement("div", null, a.a.createElement("span", {
                        className: Zv.a.group0
                    }, "abc"), "DEF", a.a.createElement("span", {
                        className: Zv.a.group0
                    }, "ghi")),
                    exampleRegex: "[[:lower:]]+",
                    regexFlags: "g",
                    info: a.a.createElement("div", null, Object(Ke.a)("Matches lowercase letters. Equivalent to [a-z]. [[:lower:]] is a POSIX notation and it needs to be inside a [character class] notation.")),
                    keywords: ["posix", "alphabet", "small", "non-capitals"],
                    flavors: [_.a.PCRE, _.a.GOLANG]
                }, {
                    token: "[[:print:]]",
                    desc: Object(Ke.a)("Visible characters"),
                    info: a.a.createElement("div", null, Object(Ke.a)("Matches printable characters, part of the basic latin set, such as letters and spaces, without including control characters. [[:print:]] is a POSIX notation and it needs to be inside a [character class] notation.")),
                    example: a.a.createElement("div", null, a.a.createElement("span", {
                        className: Zv.a.group0
                    }, "A|m0st "), "\xe9", a.a.createElement("span", {
                        className: Zv.a.group0
                    }, "verything goes.")),
                    exampleRegex: "[[:print:]]+",
                    regexFlags: "g",
                    keywords: ["posix", "visible", "printable", "normal", "common"],
                    flavors: [_.a.PCRE, _.a.GOLANG]
                }, {
                    token: "[[:punct:]]",
                    desc: Object(Ke.a)("Visible punctuation characters"),
                    example: a.a.createElement("div", null, "hello", a.a.createElement("span", {
                        className: Zv.a.group0
                    }, ","), " regex user", a.a.createElement("span", {
                        className: Zv.a.group0
                    }, "!")),
                    exampleRegex: "[[:punct:]]",
                    regexFlags: "g",
                    info: a.a.createElement("div", null, Object(Ke.a)("Matches characters that are not whitespace, letters or numbers. [[:punct:]] is a POSIX notation and it needs to be inside a [character class] notation.")),
                    keywords: ["posix", "punctuation", "period", "fullstop"],
                    flavors: [_.a.PCRE, _.a.GOLANG]
                }, {
                    token: "[[:space:]]",
                    desc: Object(Ke.a)("Whitespace"),
                    example: a.a.createElement("div", null, "any", a.a.createElement("span", {
                        className: Zv.a.group0
                    }, " "), "whitespace", a.a.createElement("span", {
                        className: Zv.a.group0
                    }, " "), "character"),
                    exampleRegex: "[[:space:]]",
                    regexFlags: "g",
                    info: a.a.createElement("div", null, Object(Ke.a)("Matches whitespace characters. Equivalent to \\s. [[:space:]] is a POSIX notation and it needs to be inside a [character class] notation.")),
                    keywords: ["posix", "space", "spacebar", "blank"],
                    flavors: [_.a.PCRE, _.a.GOLANG]
                }, {
                    token: "[[:upper:]]",
                    desc: Object(Ke.a)("Uppercase letters"),
                    example: a.a.createElement("div", null, a.a.createElement("span", {
                        className: Zv.a.group0
                    }, "ABC"), "abc", a.a.createElement("span", {
                        className: Zv.a.group0
                    }, "DEF")),
                    exampleRegex: "[[:upper:]]+",
                    regexFlags: "g",
                    info: a.a.createElement("div", null, Object(Ke.a)("Matches uppercase letters. Equivalent to [A-Z]. [[:upper:]] is a POSIX notation and it needs to be inside a [character class] notation.")),
                    keywords: ["posix", "capitals"],
                    flavors: [_.a.PCRE, _.a.GOLANG]
                }, {
                    token: "[[:word:]]",
                    desc: Object(Ke.a)("Word characters"),
                    example: a.a.createElement("div", null, a.a.createElement("span", {
                        className: Zv.a.group0
                    }, "any"), " ", a.a.createElement("span", {
                        className: Zv.a.group0
                    }, "word_"), " ", a.a.createElement("span", {
                        className: Zv.a.group0
                    }, "character")),
                    exampleRegex: "[[:word:]]+",
                    regexFlags: "g",
                    info: a.a.createElement("div", null, Object(Ke.a)("Matches letters, numbers and underscores. Equivalent to \\w or [a-zA-Z0-9_]. [[:word:]] is a POSIX notation and it needs to be inside a [character class] notation.")),
                    keywords: ["posix", "letters", "numbers", "underscore"],
                    flavors: [_.a.PCRE, _.a.GOLANG]
                }, {
                    token: "[[:xdigit:]]",
                    desc: Object(Ke.a)("Hexadecimal digits"),
                    example: a.a.createElement("div", null, "h", a.a.createElement("span", {
                        className: Zv.a.group0
                    }, "e"), "x", " ", a.a.createElement("span", {
                        className: Zv.a.group0
                    }, "123"), "! n", a.a.createElement("span", {
                        className: Zv.a.group0
                    }, "a"), "vy ", a.a.createElement("span", {
                        className: Zv.a.group0
                    }, "b"), "lue ", a.a.createElement("span", {
                        className: Zv.a.group0
                    }, "f"), "or ", a.a.createElement("span", {
                        className: Zv.a.group0
                    }, "c"), "ss: #", a.a.createElement("span", {
                        className: Zv.a.group0
                    }, "0A0AB5")),
                    exampleRegex: "[[:xdigit:]]+",
                    regexFlags: "g",
                    info: a.a.createElement("div", null, Object(Ke.a)("Matches hexadecimal digits, case insensitive. Equivalent to [0-9a-fA-F].")),
                    keywords: ["posix", "numbers", "css", "color"],
                    flavors: [_.a.PCRE, _.a.GOLANG]
                }, {
                    token: "[[:<:]]",
                    desc: Object(Ke.a)("Start of word"),
                    example: a.a.createElement("div", null, a.a.createElement("span", {
                        className: Zv.a.group0
                    }, "d"), "ot end"),
                    exampleRegex: "[[:<:]]d",
                    info: a.a.createElement($e.s, {
                        tag: "div",
                        text: "This POSIX equivalent of the `\\\\b` word boundary is interpreted as {1}",
                        ph1: '<span class="'.concat(Qv.a.tokenSample, '">\\b(?=\\w)</span>')
                    }),
                    keywords: ["posix", "word", "boundary", "beginning"],
                    flavors: [_.a.PCRE, _.a.GOLANG]
                }, {
                    token: "[[:>:]]",
                    desc: Object(Ke.a)("End of word"),
                    example: a.a.createElement("div", null, "dot en", a.a.createElement("span", {
                        className: Zv.a.group0
                    }, "d")),
                    exampleRegex: "d[[:>:]]",
                    regexFlags: "g",
                    info: a.a.createElement("div", null, Object(Ke.a)('This POSIX equivalent of the "\\b" word boundary is interpreted as'), " ", a.a.createElement("span", {
                        className: Qv.a.tokenSample
                    }, "\\\\b(?<=\\\\w)")),
                    keywords: ["posix", "word", "boundary", "end"],
                    flavors: [_.a.PCRE, _.a.GOLANG]
                }]), e_(e, Hv, [{
                    token: ".",
                    basic: !0,
                    desc: Object(Ke.a)("Any single character"),
                    example: a.a.createElement("div", null, a.a.createElement("span", {
                        className: Zv.a.group0
                    }, "a b c")),
                    exampleRegex: ".+",
                    info: a.a.createElement("div", null, Object(Ke.a)("Matches any character other than newline (or including newline with the /s flag)")),
                    keywords: ["line", "dot"],
                    flavors: [_.a.JAVASCRIPT, _.a.PYTHON, _.a.PCRE, _.a.GOLANG]
                }, {
                    token: "\\s",
                    basic: !0,
                    desc: Object(Ke.a)("Any whitespace character"),
                    example: a.a.createElement("div", null, "any", a.a.createElement("span", {
                        className: Zv.a.group0
                    }, " "), "whitespace", a.a.createElement("span", {
                        className: Zv.a.group0
                    }, " "), "character"),
                    exampleRegex: "\\s",
                    regexFlags: "g",
                    info: a.a.createElement("div", null, Object(Ke.a)("Matches any space, tab or newline character.")),
                    keywords: ["space", "spacebar", "blank"],
                    flavors: [_.a.JAVASCRIPT, _.a.PYTHON, _.a.PCRE, _.a.GOLANG]
                }, {
                    token: "\\S",
                    basic: !0,
                    desc: Object(Ke.a)("Any non-whitespace character"),
                    example: a.a.createElement("div", null, a.a.createElement("span", {
                        className: Zv.a.group0
                    }, "any"), " ", a.a.createElement("span", {
                        className: Zv.a.group0
                    }, "non-whitespace")),
                    exampleRegex: "\\S+",
                    info: a.a.createElement("div", null, Object(Ke.a)("Matches anything other than a space, tab or newline.")),
                    keywords: ["no", "space", "spacebar", "tab", "newline", "new paragraph"],
                    flavors: [_.a.JAVASCRIPT, _.a.PYTHON, _.a.PCRE, _.a.GOLANG]
                }, {
                    token: "\\d",
                    basic: !0,
                    desc: Object(Ke.a)("Any digit"),
                    example: a.a.createElement("div", null, "one: ", a.a.createElement("span", {
                        className: Zv.a.group0
                    }, "1"), ", two:", " ", a.a.createElement("span", {
                        className: Zv.a.group0
                    }, "2")),
                    exampleRegex: "\\d",
                    regexFlags: "g",
                    info: a.a.createElement("div", null, Object(Ke.a)("Matches any decimal digit. Equivalent to [0-9].")),
                    keywords: ["number", "numeric"],
                    flavors: [_.a.JAVASCRIPT, _.a.PYTHON, _.a.PCRE, _.a.GOLANG]
                }, {
                    token: "\\D",
                    basic: !0,
                    desc: Object(Ke.a)("Any non-digit"),
                    example: a.a.createElement("div", null, a.a.createElement("span", {
                        className: Zv.a.group0
                    }, "one: "), "1", a.a.createElement("span", {
                        className: Zv.a.group0
                    }, ", two: "), "2"),
                    exampleRegex: "\\D+",
                    info: a.a.createElement("div", null, Object(Ke.a)("Matches anything other than a decimal digit.")),
                    keywords: ["no", "number", "except"],
                    flavors: [_.a.JAVASCRIPT, _.a.PYTHON, _.a.PCRE, _.a.GOLANG]
                }, {
                    token: "\\w",
                    basic: !0,
                    desc: Object(Ke.a)("Any word character"),
                    example: a.a.createElement("div", null, a.a.createElement("span", {
                        className: Zv.a.group0
                    }, "any"), " ", a.a.createElement("span", {
                        className: Zv.a.group0
                    }, "word"), " ", a.a.createElement("span", {
                        className: Zv.a.group0
                    }, "character")),
                    exampleRegex: "\\w+",
                    regexFlags: "g",
                    info: a.a.createElement("div", null, Object(Ke.a)("Matches any letter, digit or underscore. Equivalent to [a-zA-Z0-9_].")),
                    keywords: ["letter", "digit", "number", "underscore"],
                    flavors: [_.a.JAVASCRIPT, _.a.PYTHON, _.a.PCRE, _.a.GOLANG]
                }, {
                    token: "\\W",
                    basic: !0,
                    desc: Object(Ke.a)("Any non-word character"),
                    example: a.a.createElement("div", null, "not", a.a.createElement("span", {
                        className: Zv.a.group0
                    }, "."), "a", a.a.createElement("span", {
                        className: Zv.a.group0
                    }, "@"), "word", a.a.createElement("span", {
                        className: Zv.a.group0
                    }, "%"), "character"),
                    exampleRegex: "\\W+",
                    regexFlags: "g",
                    info: a.a.createElement("div", null, Object(Ke.a)("Matches anything other than a letter, digit or underscore.")),
                    keywords: ["space", "punctuation", "symbol", "tab"],
                    flavors: [_.a.JAVASCRIPT, _.a.PYTHON, _.a.PCRE, _.a.GOLANG]
                }, {
                    token: "\\X",
                    desc: Object(Ke.a)("Any Unicode sequences, linebreaks included"),
                    example: a.a.createElement("div", null, a.a.createElement("span", {
                        className: Zv.a.group0
                    }, "\xe4ny \xfanic\xf8d3 character")),
                    exampleRegex: "\\X+",
                    info: a.a.createElement("div", null, Object(Ke.a)("Matches any valid Unicode sequence, including line breaks.")),
                    keywords: ["any", "character", "number", "digit", "symbol", "dos", "newline", "line break"],
                    flavors: [_.a.PCRE]
                }, {
                    token: "\\C",
                    desc: Object(Ke.a)("Match one data unit"),
                    example: a.a.createElement("div", null, a.a.createElement("span", {
                        className: Zv.a.group0
                    }, "1"), " unit"),
                    exampleRegex: "\\C",
                    info: a.a.createElement("div", null, Object(Ke.a)("Matches exactly one data unit of input. Can match individual bytes in UTF-8 mode, leading to undefined behaviour if a search starts inside a character.")),
                    keywords: ["one", "anything", "unicode", "ascii", "utf"],
                    flavors: [_.a.PCRE]
                }, {
                    token: "\\R",
                    desc: Object(Ke.a)("Unicode newlines"),
                    example: a.a.createElement("div", null, a.a.createElement("span", null), a.a.createElement("br", null), "newline above captured"),
                    exampleRegex: "(\\R)",
                    info: a.a.createElement("div", null, Object(Ke.a)("Matches any Unicode newline character: <CR>, <LF>;, <CR><LF>. Equivalent to [\\r\\n]."), ";"),
                    keywords: ["newline", "new", "linefeed", "carriage", "return"],
                    flavors: [_.a.PCRE]
                }, {
                    token: "\\v",
                    desc: Object(Ke.a)("Vertical whitespace character"),
                    example: a.a.createElement("div", null, "line one", a.a.createElement("span", {
                        className: Zv.a.group0
                    }, a.a.createElement("br", null), a.a.createElement("br", null)), "line two"),
                    exampleRegex: "(\\v)",
                    info: a.a.createElement("div", null, Object(Ke.a)("Matches newlines and vertical tabs. Works with Unicode. Vertical tabs can be inserted in some word processors using CMD/CTRL+ENTER.")),
                    keywords: ["newline", "VT", "new", "linefeed", "carriage", "return", "ascii", "11", "control+K", "^K", "U+000B", "U+240B"],
                    flavors: [_.a.PCRE, _.a.JAVASCRIPT, _.a.PYTHON, _.a.GOLANG]
                }, {
                    token: "\\V",
                    desc: Object(Ke.a)("Negation of \\v - anything except newlines and vertical tabs"),
                    example: a.a.createElement("div", null, a.a.createElement("span", {
                        className: Zv.a.group0
                    }, "line one"), a.a.createElement("br", null), a.a.createElement("br", null), a.a.createElement("span", {
                        className: Zv.a.group0
                    }, "line two")),
                    exampleRegex: "(\\V+)",
                    regexFlags: "g",
                    info: a.a.createElement("div", null, Object(Ke.a)("Matches anything not matched by \v (newlines and vertical tabs)")),
                    keywords: ["not", "VT", "newline", "new", "linefeed", "carriage", "return", "ascii", "11", "control+K", "^K", "U+000B", "U+240B"],
                    flavors: [_.a.PCRE]
                }, {
                    token: "\\h",
                    desc: Object(Ke.a)("Horizontal whitespace character"),
                    example: a.a.createElement("div", null, "a", a.a.createElement("span", {
                        className: Zv.a.group0
                    }, " "), "b", a.a.createElement("span", {
                        className: Zv.a.group0
                    }, " "), "c", a.a.createElement("span", {
                        className: Zv.a.group0
                    }, "    "), "d"),
                    exampleRegex: "\\h",
                    regexFlags: "g",
                    info: a.a.createElement("div", null, Object(Ke.a)("Matches spaces and horizontal tabs. Works with Unicode. Equivalent to [\ts].")),
                    keywords: ["space", "blank", "spacebar", "tab"],
                    flavors: [_.a.PCRE]
                }, {
                    token: "\\H",
                    desc: Object(Ke.a)("Negation of \\h"),
                    example: a.a.createElement("div", null, a.a.createElement("span", {
                        className: Zv.a.group0
                    }, "a"), " ", a.a.createElement("span", {
                        className: Zv.a.group0
                    }, "b"), " ", a.a.createElement("span", {
                        className: Zv.a.group0
                    }, "c"), " ", a.a.createElement("span", {
                        className: Zv.a.group0
                    }, "d")),
                    exampleRegex: "\\H+",
                    regexFlags: "g",
                    info: a.a.createElement("div", null, Object(Ke.a)("Matches any character that is not horizontal whitespace (\\H).")),
                    keywords: ["not", "space", "blank", "spacebar", "tab"],
                    flavors: [_.a.PCRE]
                }, {
                    token: "\\K",
                    desc: Object(Ke.a)("Reset match"),
                    info: a.a.createElement("div", null, Object(Ke.a)('Sets the given position in the regex as the new "start" of the match. This means that nothing preceding the K will be captured in the overall match.')),
                    example: a.a.createElement("div", null, "123", a.a.createElement("span", {
                        className: Zv.a.group0
                    }, ",456,789")),
                    exampleRegex: "[\\d]+\\K[\\d,]+",
                    keywords: ["match", "position", "ignore", "start", "point"],
                    flavors: [_.a.PCRE]
                }, {
                    token: "\\n",
                    desc: Object(Ke.a)("Match nth subpattern"),
                    info: a.a.createElement("div", null, Object(Ke.a)("Usually referred to as a `backreference`, this will match a repeat of the text captured in a previous set of parentheses. To reduce ambiguity one may also use `\\gn`, or `\\g{n}` where n is a digit.")),
                    example: a.a.createElement("div", null, "Repeated le", a.a.createElement("span", {
                        className: Zv.a.group0
                    }, "tt"), "ers"),
                    exampleRegex: "(.)\\1",
                    keywords: ["repeated", "duplicates", "same"],
                    flavors: [_.a.PCRE, _.a.PYTHON, _.a.JAVASCRIPT]
                }, {
                    token: "\\pX",
                    desc: Object(Ke.a)("Unicode property X"),
                    example: a.a.createElement("div", null, a.a.createElement("span", {
                        className: Zv.a.group0
                    }, "\xa3"), " or", " ", a.a.createElement("span", {
                        className: Zv.a.group0
                    }, "$"), " or even", " ", a.a.createElement("span", {
                        className: Zv.a.group0
                    }, "\xae")),
                    exampleRegex: "\\pS",
                    regexFlags: "g",
                    info: a.a.createElement("div", null, Object(Ke.a)("Matches a unicode character with the given property:"), " ", a.a.createElement($e.l, {
                        target: "_blank",
                        to: "//www.fileformat.info/info/unicode/category/index.htm"
                    }, "http://www.fileformat.info/info/unicode/category/index.htm")),
                    keywords: ["category", "latin", "uppercase", "lowercase", "language", "any", "alphabets", "symbols"],
                    flavors: [_.a.PCRE, _.a.GOLANG]
                }, {
                    token: "\\p{...}",
                    desc: Object(Ke.a)("Unicode property or script category"),
                    example: a.a.createElement("div", null, a.a.createElement("span", {
                        className: Zv.a.group0
                    }, "\u0566\u057e\u0561\u0580\u0573\u0561\u0576\u0584"), ' is the word "fun" in Armenian'),
                    exampleRegex: "\\p{Armenian}+",
                    info: a.a.createElement("div", null, Object(Ke.a)("Matches a unicode character with the given group of properties or categories:"), a.a.createElement("div", null, a.a.createElement($e.l, {
                        target: "_blank",
                        to: "//www.fileformat.info/info/unicode/category/index.htm"
                    }, "http://www.fileformat.info/info/unicode/category/index.htm"), a.a.createElement("br", null), a.a.createElement($e.l, {
                        target: "_blank",
                        to: "http://www.regular-expressions.info/unicode.html#category"
                    }, "http://www.regular-expressions.info/unicode.html#category"))),
                    keywords: ["category", "latin", "uppercase", "lowercase", "language", "any", "alphabets", "foreign"],
                    flavors: [_.a.PCRE, _.a.GOLANG, _.a.JAVASCRIPT]
                }, {
                    token: "\\PX",
                    desc: Object(Ke.a)("Negation of \\pX"),
                    example: a.a.createElement("div", null, "\xa3", a.a.createElement("span", {
                        className: Zv.a.group0
                    }, " or "), "$", a.a.createElement("span", {
                        className: Zv.a.group0
                    }, " or even "), "\xae"),
                    exampleRegex: "\\PS+",
                    regexFlags: "g",
                    info: a.a.createElement("div", null, Object(Ke.a)("Matches a unicode character without the given property.")),
                    keywords: ["category", "latin", "uppercase", "lowercase", "language", "any", "alphabets", "symbols"],
                    flavors: [_.a.PCRE, _.a.GOLANG]
                }, {
                    token: "\\P{...}",
                    desc: Object(Ke.a)("Negation of \\p"),
                    example: a.a.createElement("div", null, "\u0566\u057e\u0561\u0580\u0573\u0561\u0576\u0584", a.a.createElement("span", {
                        className: Zv.a.group0
                    }, " ", 'is the word "fun" in Armenian')),
                    exampleRegex: "\\P{Armenian}+",
                    info: a.a.createElement("div", null, Object(Ke.a)("Matches a unicode character that doesn't have any of the given properties.")),
                    keywords: ["category", "latin", "uppercase", "lowercase", "language", "any", "alphabets", "foreign"],
                    flavors: [_.a.PCRE, _.a.GOLANG, _.a.JAVASCRIPT]
                }, {
                    token: "\\Q...\\E",
                    desc: Object(Ke.a)("Quote; treat as literals"),
                    example: a.a.createElement("div", null, a.a.createElement("span", {
                        className: Zv.a.group0
                    }, "everything \\\\w is ^ literal")),
                    exampleRegex: "\\Qeverything \\w is ^ literal\\E",
                    info: a.a.createElement("div", null, Object(Ke.a)("Any characters between \\Q and \\E, including metacharacters, will be treated as literals.")),
                    keywords: ["escape", "meta", "match", "characters"],
                    flavors: [_.a.PCRE, _.a.GOLANG]
                }, {
                    token: "\\k<name>",
                    desc: Object(Ke.a)("Match subpattern `name`"),
                    example: a.a.createElement("div", null, a.a.createElement("span", {
                        className: Zv.a.group0
                    }, "aaaa"), " and again", " ", a.a.createElement("span", {
                        className: Zv.a.group0
                    }, "aaaa")),
                    exampleRegex: "(?<first>a+) and again (\\k<first>)",
                    info: a.a.createElement("div", null, Object(Ke.a)("Matches the text matched by a previously named capture group."), a.a.createElement("div", null, Object(Ke.a)("Please note this feature is experimental in JavaScript and might not be supported by your browser."))),
                    keywords: ["capture", "group", "by", "name", "recall", "match", "again"],
                    flavors: [_.a.PCRE, _.a.JAVASCRIPT]
                }, {
                    token: "\\k'name'",
                    desc: Object(Ke.a)("Match subpattern `name`"),
                    example: a.a.createElement("div", null, a.a.createElement("span", {
                        className: Zv.a.group1
                    }, "aaaa"), a.a.createElement("span", {
                        className: Zv.a.group0
                    }, " and again "), a.a.createElement("span", {
                        className: Zv.a.group2
                    }, "aaaa")),
                    exampleRegex: "(?'first'a+) and again (\\k'first')",
                    info: a.a.createElement("div", null, Object(Ke.a)("This is an alternate syntax for \\k<name> or \\k{name}.")),
                    keywords: ["capture", "group", "by", "name", "recall", "match", "again"],
                    flavors: [_.a.PCRE]
                }, {
                    token: "\\k{name}",
                    desc: Object(Ke.a)("Match subpattern `name`"),
                    example: a.a.createElement("div", null, a.a.createElement("span", {
                        className: Zv.a.group1
                    }, "aaaa"), a.a.createElement("span", {
                        className: Zv.a.group0
                    }, " and again "), a.a.createElement("span", {
                        className: Zv.a.group2
                    }, "aaaa")),
                    exampleRegex: "(?'first'a+) and again (\\k{first})",
                    info: a.a.createElement("div", null, Object(Ke.a)("This is an alternate syntax for \\k<name> or \\k'name' and it is valid for .NET. Note that you cannot use curly brackets (?{name}a+) to name a capture group in PCRE")),
                    keywords: ["capture", "group", "by", "name", "recall", "match", "again"],
                    flavors: [_.a.PCRE]
                }, {
                    token: "\\gn",
                    desc: Object(Ke.a)("Match nth subpattern"),
                    example: a.a.createElement("div", null, a.a.createElement("span", {
                        className: Zv.a.group1
                    }, "aaaa"), a.a.createElement("span", {
                        className: Zv.a.group0
                    }, " and "), a.a.createElement("span", {
                        className: Zv.a.group2
                    }, "aaaa"), "3"),
                    exampleRegex: "(a+) and (\\g1)",
                    info: a.a.createElement("div", null, Object(Ke.a)("Matches the text captured by the nth group. n can contain more than one digit, if necessary. This may be useful in order to avoid ambiguity with octal characters.")),
                    keywords: ["capture", "group", "by", "number", "recall", "match", "again", "repeat"],
                    flavors: [_.a.PCRE]
                }, {
                    token: "\\g{n}",
                    desc: Object(Ke.a)("Match nth subpattern"),
                    example: a.a.createElement("div", null, a.a.createElement("span", {
                        className: Zv.a.group1
                    }, "aaaa"), a.a.createElement("span", {
                        className: Zv.a.group0
                    }, " "), a.a.createElement("span", {
                        className: Zv.a.group2
                    }, "and1"), a.a.createElement("span", {
                        className: Zv.a.group0
                    }, " aaaa "), a.a.createElement("span", {
                        className: Zv.a.group3
                    }, "and13")),
                    exampleRegex: "(a+) (and1) aaaa (\\g{2}3)",
                    info: a.a.createElement("div", null, Object(Ke.a)("Matches the text captured by the nth group. n represents the capture group number and can positionally refer to past capture groups as well; i.e. \\g{-2} would be the second previous capture group, \\g{3\0} would be the third capture group. This may be useful in order to avoid ambiguity with octal characters, or when a literal number needs to be matched immediately after a \\gn in the regex.")),
                    keywords: ["capture", "group", "by", "name", "recall", "match", "again", "repeat"],
                    flavors: [_.a.PCRE]
                }, {
                    token: "\\g<n>",
                    desc: Object(Ke.a)("Recurse nth capture group"),
                    example: a.a.createElement("div", null, a.a.createElement("span", {
                        className: Zv.a.group1
                    }, "aaaa"), a.a.createElement("span", {
                        className: Zv.a.group0
                    }, " and "), a.a.createElement("span", {
                        className: Zv.a.group2
                    }, "aaaa"), "3"),
                    exampleRegex: "(a+) and (\\g<1>)",
                    info: a.a.createElement("div", null, Object(Ke.a)("Recurses nth capture group. n can contain more than one digit, and can be positional as well; i.e. \\g<-1> would be the previous capture group, \\g<+3> would be the third next capture group. Similar to \\g'n'")),
                    keywords: ["capture", "group", "by", "number", "recall", "match", "again", "repeat"],
                    flavors: [_.a.PCRE]
                }, {
                    token: "\\g'n'",
                    desc: Object(Ke.a)("Recurses nth capture group."),
                    example: a.a.createElement("div", null, a.a.createElement("span", {
                        className: Zv.a.group1
                    }, "aaaa"), a.a.createElement("span", {
                        className: Zv.a.group0
                    }, " and "), a.a.createElement("span", {
                        className: Zv.a.group2
                    }, "aaaa"), "3"),
                    exampleRegex: "(a+) and (\\g'1')",
                    info: a.a.createElement("div", null, Object(Ke.a)("Recurses nth capture group. n can contain more than one digit, and can be positional as well; i.e. \\g'-1' would be the previous capture group, \\g'3' would be the third capture group. Similar to \\g<n>")),
                    keywords: ["capture", "reference", "group", "by", "number", "recall", "match", "again", "repeat", "previous"],
                    flavors: [_.a.PCRE]
                }, {
                    token: "\\g{-n}",
                    desc: Object(Ke.a)("Match nth relative previous subpattern"),
                    example: a.a.createElement("div", null, a.a.createElement("span", {
                        className: Zv.a.group0
                    }, "bbbb"), a.a.createElement("span", {
                        className: Zv.a.group1
                    }, "aaaa"), a.a.createElement("span", {
                        className: Zv.a.group0
                    }, " and "), a.a.createElement("span", {
                        className: Zv.a.group2
                    }, "aaaa"), "3"),
                    exampleRegex: "b+(a+).*(\\g{-1})",
                    info: a.a.createElement("div", null, Object(Ke.a)("Recurses nth capture group prior to the current position of \\g{-n}. \\g{-1} would be the last capture group before \\g. \\g{-2} would be the capture group before the last, and so on.")),
                    keywords: ["capture", "reference", "group", "by", "number", "recall", "match", "again", "repeat", "previous"],
                    flavors: [_.a.PCRE]
                }, {
                    token: "\\g<+n>",
                    desc: Object(Ke.a)("Recurse nth relative upcoming subpattern"),
                    example: a.a.createElement("div", null, "extra ", a.a.createElement("span", {
                        className: Zv.a.group0
                    }, "b and "), a.a.createElement("span", {
                        className: Zv.a.group1
                    }, "b"), " stuff"),
                    exampleRegex: "\\g<+1> and (b)",
                    info: a.a.createElement("div", null, Object(Ke.a)("Recurses nth capture group ahead of the current position of \\g<+n>. \\g<+2> is the second capture group after \\g.")),
                    keywords: ["capture", "reference", "group", "by", "number", "next", "match", "again", "predict", "after"],
                    flavors: [_.a.PCRE]
                }, {
                    token: "\\g'+n'",
                    desc: Object(Ke.a)("Match nth relative upcoming subpattern"),
                    example: a.a.createElement("div", null, "extra ", a.a.createElement("span", {
                        className: Zv.a.group0
                    }, "b and "), a.a.createElement("span", {
                        className: Zv.a.group1
                    }, "b"), " stuff"),
                    exampleRegex: "g'+1' and (b)",
                    info: a.a.createElement("div", null, Object(Ke.a)("Recurses nth capture group ahead of the current position of \\g'+n'. \\g'+2' is the second capture group after \\g.")),
                    keywords: ["capture", "reference", "group", "by", "number", "next", "match", "again", "predict", "after"],
                    flavors: [_.a.PCRE]
                }, {
                    token: "\\g'letter'",
                    desc: Object(Ke.a)("Recurse named capture group `letter`"),
                    example: a.a.createElement("div", null, a.a.createElement("span", {
                        className: Zv.a.group1
                    }, "a"), a.a.createElement("span", {
                        className: Zv.a.group0
                    }, " plus "), a.a.createElement("span", {
                        className: Zv.a.group2
                    }, "a")),
                    exampleRegex: "(?'letter'a).*(\\g'letter')",
                    info: a.a.createElement("div", null, Object(Ke.a)("Recurses the capture group called `letter`.")),
                    keywords: ["capture", "reference", "group", "by", "name", "recall", "match", "previous", "before"],
                    flavors: [_.a.PCRE]
                }, {
                    token: "\\g{letter}",
                    desc: Object(Ke.a)("Match previously-named capture group `letter`"),
                    example: a.a.createElement("div", null, a.a.createElement("span", {
                        className: Zv.a.group1
                    }, "a"), a.a.createElement("span", {
                        className: Zv.a.group0
                    }, " plus "), a.a.createElement("span", {
                        className: Zv.a.group2
                    }, "a")),
                    exampleRegex: "(?'letter'a).*(\\g{letter})",
                    info: a.a.createElement("div", null, Object(Ke.a)('Matches the capture group called "name". Note that you cannot use curly brackets (?{name}a+) to name a capture group in PCRE')),
                    keywords: ["capture", "reference", "group", "by", "name", "recall", "match", "previous", "before"],
                    flavors: [_.a.PCRE]
                }, {
                    token: "\\g<letter>",
                    desc: Object(Ke.a)("Recurses named capture group `letter`"),
                    example: a.a.createElement("div", null, a.a.createElement("span", {
                        className: Zv.a.group1
                    }, "a"), a.a.createElement("span", {
                        className: Zv.a.group0
                    }, " plus "), a.a.createElement("span", {
                        className: Zv.a.group2
                    }, "a")),
                    exampleRegex: "(?<letter>a).*(\\g<letter>)",
                    info: a.a.createElement("div", null, Object(Ke.a)("Recurses the capture group called \"letter\". This is an alternative notation for \\g'letter'")),
                    keywords: ["capture", "reference", "group", "by", "name", "recall", "match", "previous", "before"],
                    flavors: [_.a.PCRE]
                }, {
                    token: "\\uYYYY",
                    desc: Object(Ke.a)("Hex character YYYY"),
                    example: a.a.createElement("div", null, a.a.createElement("span", {
                        className: Zv.a.group0
                    }, "%")),
                    exampleRegex: "\\u0025",
                    info: a.a.createElement("div", null, Object(Ke.a)("Matches the unicode character with the given hex value."), " ", a.a.createElement($e.l, {
                        target: "_blank",
                        to: "http://unicode-table.com/en/"
                    }, Object(Ke.a)("Unicode Character Table"))),
                    keywords: ["hex", "unicode", "map", "symbols"],
                    flavors: [_.a.JAVASCRIPT]
                }, {
                    token: "\\xYY",
                    desc: Object(Ke.a)("Hex character YY"),
                    example: a.a.createElement("div", null, "match", a.a.createElement("span", {
                        className: Zv.a.group0
                    }, " "), "all", a.a.createElement("span", {
                        className: Zv.a.group0
                    }, " "), "spaces"),
                    exampleRegex: "\\x20",
                    regexFlags: "g",
                    info: a.a.createElement("div", null, Object(Ke.a)("Matches the 8-bit character with the given hex value."), " ", a.a.createElement($e.l, {
                        target: "_blank",
                        to: "http://unicode-table.com/en/"
                    }, Object(Ke.a)("Unicode Character Table"))),
                    keywords: ["hex", "unicode", "map", "symbols"],
                    flavors: [_.a.JAVASCRIPT, _.a.PYTHON, _.a.PCRE, _.a.GOLANG]
                }, {
                    token: "\\x{YYYY}",
                    desc: Object(Ke.a)("Hex character YYYY"),
                    example: a.a.createElement("div", null, a.a.createElement("span", {
                        className: Zv.a.group0
                    }, "%")),
                    exampleRegex: "\\x{0025}",
                    info: a.a.createElement("div", null, Object(Ke.a)("Matches the 16-bit character with the given hex value."), " ", a.a.createElement($e.l, {
                        target: "_blank",
                        to: "http://unicode-table.com/en/"
                    }, Object(Ke.a)("Unicode Character Table"))),
                    keywords: ["hex", "unicode", "map", "symbols"],
                    flavors: [_.a.PCRE, _.a.GOLANG]
                }, {
                    token: "\\ddd",
                    desc: Object(Ke.a)("Octal character ddd"),
                    example: a.a.createElement("div", null, a.a.createElement("span", {
                        className: Zv.a.group0
                    }, "%")),
                    exampleRegex: "\\045",
                    info: a.a.createElement("div", null, Object(Ke.a)("Matches the 8-bit character with the given octal value."), " ", a.a.createElement($e.l, {
                        target: "_blank",
                        to: "http://www.utf8-chartable.de/unicode-utf8-table.pl?utf8=oct"
                    }, Object(Ke.a)("Octal Character Table"))),
                    keywords: ["octal", "unicode", "map", "symbols"],
                    flavors: [_.a.JAVASCRIPT, _.a.PYTHON, _.a.PCRE, _.a.GOLANG]
                }, {
                    token: "\\cY",
                    desc: Object(Ke.a)("Control character Y"),
                    example: a.a.createElement("div", null, "vertical", a.a.createElement("span", {
                        className: Zv.a.group0
                    }, "        "), "tab"),
                    exampleRegex: "cI",
                    info: a.a.createElement("div", null, Object(Ke.a)("Matches ASCII characters typically associated with Control+A through Control+Z: \\x01 through \\x1A."), " ", a.a.createElement($e.l, {
                        target: "_blank",
                        to: "https://www.cs.tut.fi/~jkorpela/chars/c0.html"
                    }, Object(Ke.a)("ASCII control characters"))),
                    keywords: ["control", "CTRL", "+", "ascii", "codes"],
                    flavors: [_.a.JAVASCRIPT, _.a.PCRE]
                }, {
                    token: "[\\b]",
                    desc: Object(Ke.a)("Backspace character"),
                    info: a.a.createElement("div", null, Object(Ke.a)("Matches the backspace control character.")),
                    keywords: ["CTRL+H", "^H"],
                    flavors: [_.a.JAVASCRIPT, _.a.PYTHON, _.a.PCRE]
                }, {
                    token: "\\",
                    desc: Object(Ke.a)("Makes any character literal"),
                    example: a.a.createElement("div", null, "match ", a.a.createElement("span", {
                        className: Zv.a.group0
                    }, "\\w"), " literally"),
                    exampleRegex: "\\\\w",
                    info: a.a.createElement("div", null, Object(Ke.a)("This may be used to match the literal value of any metacharacter, or the / delimiter.")),
                    keywords: ["literal", "escape", "special", "disable"],
                    flavors: [_.a.JAVASCRIPT, _.a.PYTHON, _.a.PCRE, _.a.GOLANG]
                }]), e_(e, Vv, [{
                    token: "(...)",
                    basic: !0,
                    desc: Object(Ke.a)("Capture everything enclosed"),
                    example: a.a.createElement("div", null, a.a.createElement("span", {
                        className: Zv.a.group0
                    }, "hehe"), "h", " ", a.a.createElement("span", {
                        className: Zv.a.group0
                    }, "he"), " ", a.a.createElement("span", {
                        className: Zv.a.group0
                    }, "he"), "h"),
                    exampleRegex: "(he)+",
                    regexFlags: "g",
                    info: a.a.createElement("div", null, Object(Ke.a)("Parts of the regex enclosed in parentheses may be referred to later in the expression or extracted from the results of a successful match.")),
                    keywords: ["capture", "group"],
                    flavors: [_.a.JAVASCRIPT, _.a.PYTHON, _.a.PCRE, _.a.GOLANG]
                }, {
                    token: "(a|b)",
                    basic: !0,
                    desc: Object(Ke.a)("Match either a or b"),
                    example: a.a.createElement("div", null, a.a.createElement("span", {
                        className: Zv.a.group1
                    }, "b"), "e", a.a.createElement("span", {
                        className: Zv.a.group1
                    }, "a"), "ch"),
                    exampleRegex: "(a|b)",
                    regexFlags: "g",
                    info: a.a.createElement("div", null, Object(Ke.a)("Matches the a or the b part of the subexpression.")),
                    keywords: ["either", "or", "alternatively"],
                    flavors: [_.a.JAVASCRIPT, _.a.PYTHON, _.a.PCRE, _.a.GOLANG]
                }, {
                    token: "(?:...)",
                    desc: Object(Ke.a)("Match everything enclosed"),
                    example: a.a.createElement("div", null, a.a.createElement("span", {
                        className: Zv.a.group0
                    }, "hehe"), "h", " ", a.a.createElement("span", {
                        className: Zv.a.group0
                    }, "he"), " ", a.a.createElement("span", {
                        className: Zv.a.group0
                    }, "he"), "h"),
                    exampleRegex: "(?:he)+",
                    regexFlags: "g",
                    info: a.a.createElement("div", null, Object(Ke.a)("This construct is similar to (...), but won't create a capture group.")),
                    keywords: ["match", "group", "non", "capturing"],
                    flavors: [_.a.JAVASCRIPT, _.a.PYTHON, _.a.PCRE, _.a.GOLANG]
                }, {
                    token: "(?>...)",
                    desc: Object(Ke.a)("Atomic group (non-capturing)"),
                    example: a.a.createElement("div", null, "this line is matched/consumed to the end by .+ and is not allowed to backtrack to find @"),
                    exampleRegex: "(?>.+)@",
                    keywords: ["match", "most", "backtracking", "no", "back", "tracking"],
                    info: a.a.createElement("div", null, Object(Ke.a)("Matches the longest possible substring in the group and doesn't allow later backtracking to reevaluate the group. It is not a capturing group.")),
                    flavors: [_.a.PCRE]
                }, {
                    token: "(?|...)",
                    desc: Object(Ke.a)("Duplicate subpattern group number"),
                    example: a.a.createElement("div", null, "A ", a.a.createElement("span", {
                        className: Zv.a.group1
                    }, "candy"), ",", " ", a.a.createElement("span", {
                        className: Zv.a.group1
                    }, "kiss"), ", or even a", " ", a.a.createElement("span", {
                        className: Zv.a.group1
                    }, "berry"), " is delicious."),
                    exampleRegex: "(?|(candy)|(kiss)|(berry))",
                    regexFlags: "g",
                    info: a.a.createElement("div", null, Object(Ke.a)("Any subpatterns in (...) in such a group share the same number.")),
                    keywords: ["pattern", "same", "digit", "id", "order", "reset"],
                    flavors: [_.a.PCRE]
                }, {
                    token: "(?#...)",
                    desc: Object(Ke.a)("Comment"),
                    example: a.a.createElement("div", null, a.a.createElement("span", {
                        className: Zv.a.group0
                    }, "Not"), "hing else matches."),
                    exampleRegex: "Not(?# .* <-- that should match all)",
                    info: a.a.createElement("div", null, Object(Ke.a)("Any text appearing in this group is ignored in the regex. Another option is enabling the x flag to allow #comments. This flag will also cause regex to ignore spaces.")),
                    keywords: ["note", "ignore", "explain", "explanatory"],
                    flavors: [_.a.PCRE, _.a.PYTHON]
                }, {
                    token: "(?'name'...)",
                    desc: Object(Ke.a)("Named Capturing Group"),
                    example: a.a.createElement("div", null, "Call me ", a.a.createElement("span", {
                        className: Zv.a.group1
                    }, "Sally"), "."),
                    exampleRegex: "(?'name'Sally)",
                    info: a.a.createElement("div", null, Object(Ke.a)("This capturing group can be referred to using the given name instead of a number. Alternative notation for (?<name>...) and (?P<name>...).")),
                    keywords: ["recall", "by", "name", "tag", "label", "target"],
                    flavors: [_.a.PCRE]
                }, {
                    token: "(?<name>...)",
                    desc: Object(Ke.a)("Named Capturing Group"),
                    example: a.a.createElement("div", null, "Call me ", a.a.createElement("span", {
                        className: Zv.a.group1
                    }, "Sally"), "."),
                    exampleRegex: "(?<name>Sally)",
                    info: a.a.createElement("div", null, Object(Ke.a)("This capturing group can be referred to using the given name instead of a number. Alternative notation for (?'name'...) and (?P<name>...).")),
                    keywords: ["recall", "by", "name", "tag", "label", "target"],
                    flavors: [_.a.PCRE]
                }, {
                    token: "(?<name>...)",
                    desc: Object(Ke.a)("Named Capturing Group"),
                    example: a.a.createElement("div", null, "Call me ", a.a.createElement("span", {
                        className: Zv.a.group1
                    }, "Sally"), "."),
                    exampleRegex: "(?<name>Sally)",
                    info: a.a.createElement("div", null, Object(Ke.a)("This capturing group can be referred to using the given name instead of a number."), a.a.createElement("div", null, Object(Ke.a)("Please note this feature is experimental in JavaScript and might not be supported by your browser."))),
                    keywords: ["recall", "by", "name", "tag", "label", "target"],
                    flavors: [_.a.JAVASCRIPT]
                }, {
                    token: "(?P<name>...)",
                    desc: Object(Ke.a)("Named Capturing Group"),
                    example: a.a.createElement("div", null, "Call me ", a.a.createElement("span", {
                        className: Zv.a.group1
                    }, "Sally"), "."),
                    exampleRegex: "(?P<name>Sally)",
                    info: a.a.createElement("div", null, Object(Ke.a)("This capturing group can be referred to using the given name instead of a number. Alternative notation for (?<name>...) and (?'name'...) when using a PCRE flavor.")),
                    keywords: ["recall", "by", "name", "tag", "label", "target"],
                    flavors: [_.a.PCRE, _.a.PYTHON, _.a.GOLANG]
                }, {
                    token: "(?imsxXU)",
                    desc: Object(Ke.a)("Inline modifiers"),
                    example: a.a.createElement("div", null, a.a.createElement("span", {
                        className: Zv.a.group0
                    }, "aA"), " Aa", " ", a.a.createElement("span", {
                        className: Zv.a.group0
                    }, "aa"), " AA"),
                    exampleRegex: "a(?i)a",
                    regexFlags: "g",
                    info: a.a.createElement("div", null, Object(Ke.a)("These enable setting regex flags within the expression itself. You can also unset flags using a minus sign: (?-i)")),
                    keywords: ["fly", "the", "flags", "partially", "apply", "isolate"],
                    flavors: [_.a.PCRE, _.a.PYTHON]
                }, {
                    token: "(?(1)yes|no)",
                    desc: Object(Ke.a)("Conditional statement"),
                    example: a.a.createElement("div", null, a.a.createElement("span", {
                        className: Zv.a.group1
                    }, "A candy"), a.a.createElement("span", {
                        className: Zv.a.group0
                    }, " is true"), " is false."),
                    exampleRegex: "(A candy)?(?(1) is true| is false)",
                    info: a.a.createElement("div", null, Object(Ke.a)("If capturing group 1 was matched so far, matches the pattern before the vertical bar. Otherwise, matches the pattern after the vertical bar. A group name, or a relative position (-1) in PCRE, can be used. Global flag breaks conditionals.")),
                    keywords: ["if", "else", "true", "false", "match", "no", "then"],
                    flavors: [_.a.PCRE, _.a.PYTHON]
                }, {
                    token: "(?(R)yes|no)",
                    desc: Object(Ke.a)("Conditional statement"),
                    example: a.a.createElement("div", null, a.a.createElement("span", {
                        className: Zv.a.group0
                    }, '<tag allows="for nested" <tag> />')),
                    exampleRegex: "<(?:(?(R)\\w++|[^<>]*+)|(?R))*>",
                    info: a.a.createElement("div", null, Object(Ke.a)("If recursion of the whole pattern is successful, do something | otherwise do this.")),
                    keywords: ["if", "else", "true", "false", "match", "no", "then"],
                    flavors: [_.a.PCRE]
                }, {
                    token: "(?(R#)yes|no)",
                    desc: Object(Ke.a)("Recursive Conditional statement"),
                    example: a.a.createElement("div", null, a.a.createElement("span", {
                        className: Zv.a.group0
                    }, a.a.createElement("span", {
                        className: Zv.a.group1
                    }, "funky"), " function")),
                    exampleRegex: "( *fun(?(R1)ction|ky))(?1)",
                    info: a.a.createElement("div", null, a.a.createElement("div", null, Object(Ke.a)("`(?R1)` checks if a call to capture group 1 was made, which will return false the first time it is encountered because the regex engine is simply parsing capture group one.")), a.a.createElement("div", null, Object(Ke.a)("Once `(?1)` is called, `(?(R1)true|false)` will return true since capture group 1 was called, and will match `ction`"))),
                    keywords: ["if", "else", "true", "false", "match", "no", "then"],
                    flavors: [_.a.PCRE]
                }, {
                    token: "(?(R&name)yes|no)",
                    desc: Object(Ke.a)("Conditional statement"),
                    example: a.a.createElement("div", null, a.a.createElement("span", {
                        className: Zv.a.group0
                    }, a.a.createElement("span", {
                        className: Zv.a.group1
                    }, "funky"), " function")),
                    exampleRegex: "(?<sub1> *fun(?(R&sub1)ction|ky))(?&sub1)",
                    info: a.a.createElement("div", null, a.a.createElement("div", null, Object(Ke.a)("In this case `(?(R&sub1)...|...)` checks if a call to `sub1` has been made. The first time the recursive conditional is parsed, the engine is in the process of matching what `sub1` requires, but it isn't because of a callback to `sub1`.")), a.a.createElement("div", null, Object(Ke.a)("Once we actually call `sub1` the conditional will return true, at which point `ction` matches."))),
                    keywords: ["if", "else", "true", "false", "match", "no", "then"],
                    flavors: [_.a.PCRE]
                }, {
                    token: "(?(?=...)yes|no)",
                    desc: Object(Ke.a)("Lookahead conditional"),
                    example: a.a.createElement("div", null, "Candy ", a.a.createElement("span", {
                        className: Zv.a.group1
                    }, "is delicious"), " or disgusting."),
                    exampleRegex: "(?(?=is)(is delicious)|(disgusting))",
                    info: a.a.createElement("div", null, Object(Ke.a)("If the lookahead succeeds, matches the pattern before the vertical bar. Otherwise, matches the pattern after the vertical bar. The lookaround can be negative. Global flag breaks conditionals.")),
                    keywords: ["if", "else", "true", "false", "match", "no", "then"],
                    flavors: [_.a.PCRE]
                }, {
                    token: "(?(?<=...)yes|no)",
                    desc: Object(Ke.a)("Lookbehind conditional"),
                    example: a.a.createElement("div", null, "Is candy ", a.a.createElement("span", {
                        className: Zv.a.group1
                    }, "delish"), " or ew?"),
                    exampleRegex: "(?(?<=\\s)(delish)|(ew))",
                    info: a.a.createElement("div", null, Object(Ke.a)("If the lookbehind succeeds, match the pattern before the vertical bar. Otherwise, matches the pattern after the vertical bar. The lookaround can be negative. Global flag, 'g', breaks conditionals.")),
                    keywords: ["if", "else", "true", "false", "match", "no", "then"],
                    flavors: [_.a.PCRE]
                }, {
                    token: "(?R)",
                    desc: Object(Ke.a)("Recurse entire pattern"),
                    example: a.a.createElement("div", null, a.a.createElement("span", {
                        className: Zv.a.group0
                    }, "(simple)"), " ", a.a.createElement("span", {
                        className: Zv.a.group0
                    }, "(and"), a.a.createElement("span", {
                        className: Zv.a.group1
                    }, "(nested)"), a.a.createElement("span", {
                        className: Zv.a.group0
                    }, ")"), " but (not here"),
                    exampleRegex: "((?:[^()]|((?R)))+)",
                    regexFlags: "g",
                    info: a.a.createElement("div", null, Object(Ke.a)("Recursively match the entire expression. (?0) and \\g<0> are synonymous. This is useful for balanced tags. Note that `(?R)` is wrapped in a superfluous capture group to help visually identify its match in the example string.")),
                    keywords: ["repeat", "match", "again", "multiple", "nth", "n", "times"],
                    flavors: [_.a.PCRE]
                }, {
                    token: "(?1)",
                    desc: Object(Ke.a)("Recurse first subpattern"),
                    example: a.a.createElement("div", null, a.a.createElement("span", {
                        className: Zv.a.group1
                    }, "capture"), a.a.createElement("span", {
                        className: Zv.a.group0
                    }, " my "), a.a.createElement("span", {
                        className: Zv.a.group2
                    }, "capture"), " again"),
                    exampleRegex: "(capture).+((?1))",
                    info: a.a.createElement("div", null, Object(Ke.a)("Recursively match the first capture group.")),
                    keywords: ["repeat", "match", "again", "multiple", "nth", "n", "times", "capture", "group"],
                    flavors: [_.a.PCRE]
                }, {
                    token: "(?+1)",
                    desc: Object(Ke.a)("Recurse first relative subpattern"),
                    example: a.a.createElement("div", null, a.a.createElement("span", {
                        className: Zv.a.group0
                    }, "match if I start with "), a.a.createElement("span", {
                        className: Zv.a.group2
                    }, "match")),
                    exampleRegex: "(?+1).+(match)",
                    info: a.a.createElement("div", null, Object(Ke.a)("Match the first capture group following the current position in the expression. (?+2) is the second one, (?-1) is before current position.")),
                    keywords: ["repeat", "match", "again", "multiple", "nth", "n", "times", "capture", "group", "by", "id"],
                    flavors: [_.a.PCRE]
                }, {
                    token: "(?&name)",
                    desc: Object(Ke.a)("Recurse subpattern `name`"),
                    example: a.a.createElement("div", null, a.a.createElement("span", {
                        className: Zv.a.group0
                    }, "boys like "), a.a.createElement("span", {
                        className: Zv.a.group1
                    }, "toys"), "."),
                    exampleRegex: "(?&named_group)[a-z ]+(?'named_group'[tb]oys)",
                    info: a.a.createElement("div", null, Object(Ke.a)("Recursively matches the given named capture group. Python supports (?P=named_group), but 'named group' has to be previously defined.")),
                    keywords: ["repeat", "match", "again", "multiple", "named", "times", "capture", "group", "by"],
                    flavors: [_.a.PCRE]
                }, {
                    token: "(?P=name)",
                    desc: Object(Ke.a)("Match subpattern `name`"),
                    example: a.a.createElement("div", null, a.a.createElement("span", {
                        className: Zv.a.group1
                    }, "cool"), a.a.createElement("span", {
                        className: Zv.a.group0
                    }, " is cool")),
                    exampleRegex: "(?P<named_group>cool)[a-z ]+(?P=named_group)",
                    info: a.a.createElement("div", null, Object(Ke.a)("Matches the text matched by a previously named capture group. This is the python specific notation.")),
                    keywords: ["repeat", "match", "again", "multiple", "named", "times", "capture", "group", "by"],
                    flavors: [_.a.PCRE, _.a.PYTHON]
                }, {
                    token: "(?P>name)",
                    desc: Object(Ke.a)("Recurse subpattern `name`"),
                    example: a.a.createElement("div", null, a.a.createElement("span", {
                        className: Zv.a.group1
                    }, "one"), a.a.createElement("span", {
                        className: Zv.a.group0
                    }, " does not simply eat "), a.a.createElement("span", {
                        className: Zv.a.group2
                    }, "one"), " pie"),
                    exampleRegex: "((?P>who))[a-z ]+(?P<who>one)",
                    info: a.a.createElement("div", null, Object(Ke.a)("Recursively matches the given named subpattern or capture group.")),
                    keywords: ["repeat", "match", "again", "multiple", "named", "times", "capture", "group", "by"],
                    flavors: [_.a.PCRE]
                }, {
                    token: "(?(DEFINE)...)",
                    desc: Object(Ke.a)("Pre-define patterns before using them"),
                    example: a.a.createElement("div", null, "123 ", a.a.createElement("span", {
                        className: Zv.a.group0
                    }, "letters"), " 123"),
                    exampleRegex: "(?(DEFINE)(?'letters'[a-z]+))(?P>letters)",
                    info: a.a.createElement("div", null, Object(Ke.a)('The DEFINE group is completely ignored by regex. It gets treated as a var name="value", whereas you can recall the specific pattern for use via its name. Multiple patterns can be defined in the same DEFINE group.'), a.a.createElement("div", {
                        className: Qv.a.tokenSample
                    }, "(?(DEFINE)(?'numbers'\\d+)(?'lowercase'[a-z]+)(?'uppercase'[A-Z]+))")),
                    keywords: ["store", "define", "variables", "regexes", "set", "recall", "name", "pattern"],
                    flavors: [_.a.PCRE]
                }, {
                    token: "(?=...)",
                    desc: Object(Ke.a)("Positive Lookahead"),
                    example: a.a.createElement("div", null, a.a.createElement("span", {
                        className: Zv.a.group0
                    }, "foo"), "bar foobaz"),
                    exampleRegex: "foo(?=bar)",
                    info: a.a.createElement("div", null, Object(Ke.a)("Asserts that the given subpattern can be matched here, without consuming characters")),
                    keywords: ["match", "only", "if", "exists", "string", "word", "character", "next", "coming", "up"],
                    flavors: [_.a.PCRE, _.a.JAVASCRIPT, _.a.PYTHON]
                }, {
                    token: "(?!...)",
                    desc: Object(Ke.a)("Negative Lookahead"),
                    example: a.a.createElement("div", null, "foobar ", a.a.createElement("span", {
                        className: Zv.a.group0
                    }, "foo"), "baz"),
                    exampleRegex: "foo(?!bar)",
                    info: a.a.createElement("div", null, Object(Ke.a)("Starting at the current position in the expression, ensures that the given pattern will not match. Does not consume characters.")),
                    keywords: ["match", "only", "if", "not", "is", "exists", "string", "word", "character", "next", "coming", "up"],
                    flavors: [_.a.PCRE, _.a.JAVASCRIPT, _.a.PYTHON]
                }, {
                    token: "(?<=...)",
                    desc: Object(Ke.a)("Positive Lookbehind"),
                    example: a.a.createElement("div", null, "foo", a.a.createElement("span", {
                        className: Zv.a.group0
                    }, "bar"), " fuubar"),
                    exampleRegex: "(?<=foo)bar",
                    info: a.a.createElement("div", null, Object(Ke.a)("Ensures that the given pattern will match, ending at the current position in the expression. The pattern must have a fixed width. Does not consume any characters.")),
                    keywords: ["look", "behind", "lookbehind", "match", "only", "if", "is", "exists", "string", "word", "character", "previously", "past", "before"],
                    flavors: [_.a.PCRE, _.a.PYTHON]
                }, {
                    token: "(?<!...)",
                    desc: Object(Ke.a)("Negative Lookbehind"),
                    example: a.a.createElement("div", null, "not foo but ", a.a.createElement("span", {
                        className: Zv.a.group0
                    }, "foo")),
                    exampleRegex: "(?<!not )foo",
                    info: a.a.createElement("div", null, Object(Ke.a)("Ensures that the given pattern would not match and end at the current position in the expression. The pattern must have a fixed width. Does not consume characters.")),
                    keywords: ["look", "behind", "lookbehind", "match", "only", "if", "not", "is", "exists", "string", "word", "character", "previously", "past", "before"],
                    flavors: [_.a.PCRE, _.a.PYTHON]
                }, {
                    token: "(?<=...)",
                    desc: Object(Ke.a)("Positive Lookbehind"),
                    example: a.a.createElement("div", null, "foo", a.a.createElement("span", {
                        className: Zv.a.group0
                    }, "bar"), " fuubar"),
                    exampleRegex: "(?<=foo)bar",
                    info: a.a.createElement("div", null, a.a.createElement("div", null, Object(Ke.a)("Ensures that the given pattern will match, ending at the current position in the expression. The pattern be of variable width. Does not consume any characters.")), a.a.createElement("div", null, Object(Ke.a)("Note that this feature is not yet supported on all browsers; use at your own discretion!"))),
                    keywords: ["look", "behind", "lookbehind", "match", "only", "if", "is", "exists", "string", "word", "character", "previously", "past", "before"],
                    flavors: [_.a.JAVASCRIPT]
                }, {
                    token: "(?<!...)",
                    desc: Object(Ke.a)("Negative Lookbehind"),
                    example: a.a.createElement("div", null, "not foo but ", a.a.createElement("span", {
                        className: Zv.a.group0
                    }, "foo")),
                    exampleRegex: "(?<!not )foo",
                    info: a.a.createElement("div", null, a.a.createElement("div", null, Object(Ke.a)("Ensures that the given pattern would not match and end at the current position in the expression. The pattern be of variable width. Does not consume characters.")), a.a.createElement("div", null, Object(Ke.a)("Note that this feature is not yet supported on all browsers; use at your own discretion!"))),
                    keywords: ["look", "behind", "lookbehind", "match", "only", "if", "not", "is", "exists", "string", "word", "character", "previously", "past", "before"],
                    flavors: [_.a.JAVASCRIPT]
                }, {
                    token: "(*ACCEPT)",
                    desc: Object(Ke.a)("Control verb"),
                    example: a.a.createElement("div", null, a.a.createElement("span", {
                        className: Zv.a.group0
                    }, "Candy tastes great"), " but is bad for your teeth."),
                    exampleRegex: "Candy.+?great(*ACCEPT).+bad",
                    info: a.a.createElement("div", null, a.a.createElement("p", null, Object(Ke.a)("This causes the regex to end successfully, skipping the rest of the pattern.")), a.a.createElement("p", null, Object(Ke.a)("If this token is inside a capturing group, only that capturing group is ended successfully at that particular location, while the parent pattern continues to execute."))),
                    keywords: ["end", "accept", "recursion", "early", "capture", "stop", "partly", "pattern"],
                    flavors: [_.a.PCRE]
                }, {
                    token: "(*FAIL)",
                    desc: Object(Ke.a)("Control verb"),
                    example: a.a.createElement("div", null, "Candy is bad", a.a.createElement("br", null), a.a.createElement("span", {
                        className: Zv.a.group0
                    }, "Candy is good")),
                    exampleRegex: "Candy.+?(?:bad(*FAIL)|good)",
                    info: a.a.createElement("div", null, Object(Ke.a)("(*FAIL) or (*F) is a synonym for (?!), and it allows you to force a matching failure at a specific point in the regex.")),
                    keywords: ["end", "reject", "recursion", "early", "capture", "stop", "partly", "pattern"],
                    flavors: [_.a.PCRE]
                }, {
                    token: "(*MARK:NAME)",
                    desc: Object(Ke.a)("Control verb"),
                    info: a.a.createElement("div", null, Object(Ke.a)("(*MARK:NAME) or (*:NAME) is used to track how a match was arrived at. Name is always required, but it doesn't need to be unique. When used in conjunction with the /K modifier, pcretest can return the mark together with a successful match."), a.a.createElement("div", {
                        className: Qv.a.tokenSample
                    }, a.a.createElement("div", null, "re> /X(*MARK:A)Y|X(*MARK:B)Z/K"), a.a.createElement("div", null, "data> XY"), a.a.createElement("div", null, "0: XY"), a.a.createElement("div", null, "MK: A"), a.a.createElement("div", null, "XZ"), a.a.createElement("div", null, "0: XZ"), a.a.createElement("div", null, "MK: B"))),
                    keywords: ["end", "reject", "recursion", "early", "capture", "stop", "partly", "pattern"],
                    flavors: [_.a.PCRE]
                }, {
                    token: "(*COMMIT)",
                    desc: Object(Ke.a)("Control verb"),
                    example: a.a.createElement("div", null, a.a.createElement("span", {
                        className: Zv.a.group0
                    }, "woow"), " ", a.a.createElement("span", {
                        className: Zv.a.group0
                    }, "woow"), " woot woow"),
                    exampleRegex: "wo+(*COMMIT)w",
                    regexFlags: "g",
                    info: a.a.createElement("div", null, Object(Ke.a)("This verb does not allow regex to continue parsing after a matching failure, even if there are other matching strings ahead, and regardless of how many successful matches are before the failure.")),
                    keywords: ["no", "backtracking", "recursion", "deny", "stop", "matching", "failure", "after"],
                    flavors: [_.a.PCRE]
                }, {
                    token: "(*PRUNE)",
                    desc: Object(Ke.a)("Control verb"),
                    example: a.a.createElement("div", null, "marketing dynamics,", " ", a.a.createElement("span", {
                        className: Zv.a.group0
                    }, "marketing strategy")),
                    exampleRegex: "(*PRUNE)\\w{4,9} strategy|\\w{4,9} dynamics",
                    regexFlags: "g",
                    info: a.a.createElement("div", null, Object(Ke.a)("(*PRUNE) or (*PRUNE:NAME) will cause the regex to exit if it tries to backtrack past its position. This is useful when looking to cut down on backtracking at specific points in the regex. The example above would normally match both terms but due to (*PRUNE) the second alternative is not acted on.")),
                    keywords: ["no", "backtracking", "recursion", "deny", "stop", "matching", "failure", "after"],
                    flavors: [_.a.PCRE]
                }, {
                    token: "(*SKIP)",
                    desc: Object(Ke.a)("Control verb"),
                    example: a.a.createElement("div", null, a.a.createElement("span", {
                        className: Zv.a.group0
                    }, "aaardvark"), " aaaardvark aa", a.a.createElement("span", {
                        className: Zv.a.group0
                    }, "aaardvark"), " aaaaaardvark aaaa", a.a.createElement("span", {
                        className: Zv.a.group0
                    }, "aaardvark")),
                    exampleRegex: "aa(*SKIP)ard\\w+",
                    regexFlags: "g",
                    info: a.a.createElement("div", null, Object(Ke.a)("(*SKIP) or (*SKIP:NAME) will cause the regex to give up on the current match if it tries to backtrack past its position. This is useful when looking to cut down on backtracking at specific points in the regex.")),
                    keywords: ["no", "backtracking", "recursion", "deny", "stop", "matching", "failure", "after", "give", "up"],
                    flavors: [_.a.PCRE]
                }, {
                    token: "(*THEN)",
                    desc: Object(Ke.a)("Control verb"),
                    example: a.a.createElement("div", null, "35234"),
                    exampleRegex: "^.*?(?(?=2)2|3(*THEN)4)",
                    regexFlags: "g",
                    info: a.a.createElement("div", null, Object(Ke.a)("(*THEN) or (*THEN:NAME) allows one to cut down on backtracking within an alternation. It won't allow regex to backtrack past its position, and it will give up matching the current alternation if there's a failure. If (*THEN) is used outside of an alternation, it will act like (*PRUNE).")),
                    keywords: ["no", "backtracking", "recursion", "deny", "stop", "matching", "failure", "after", "give", "up"],
                    flavors: [_.a.PCRE]
                }, {
                    token: "(*UTF)",
                    desc: Object(Ke.a)("Pattern modifier"),
                    info: a.a.createElement("div", null, Object(Ke.a)("This allows regex to treat the string as UTF, be it 8, 16, or 32.")),
                    keywords: ["utf", "string", "unicode", "\\x", "\\u"],
                    flavors: [_.a.PCRE]
                }, {
                    token: "(*UTF8)",
                    desc: Object(Ke.a)("Pattern modifier"),
                    info: a.a.createElement("div", null, Object(Ke.a)("This allows regex to treat the string as UTF-8, specifically.")),
                    keywords: ["utf", "string", "unicode", "\\x", "\\u"],
                    flavors: [_.a.PCRE]
                }, {
                    token: "(*UTF16)",
                    desc: Object(Ke.a)("Pattern modifier"),
                    info: a.a.createElement("div", null, Object(Ke.a)("This allows regex to treat the string as UTF-16, specifically.")),
                    keywords: ["utf", "string", "unicode", "\\x", "\\u"],
                    flavors: [_.a.PCRE]
                }, {
                    token: "(*UTF32)",
                    desc: Object(Ke.a)("Pattern modifier"),
                    info: a.a.createElement("div", null, Object(Ke.a)("This allows regex to treat the string as UTF-32, specifically.")),
                    keywords: ["utf", "string", "unicode", "\\x", "\\u"],
                    flavors: [_.a.PCRE]
                }, {
                    token: "(*UCP)",
                    desc: Object(Ke.a)("Pattern modifier"),
                    example: a.a.createElement("div", null, a.a.createElement("span", {
                        className: Zv.a.group0
                    }, "0\u06601\u06612\u06623\u06634\u06645\u06656\u06667\u0668\u06689\u0669h\u0629")),
                    exampleRegex: "(*UCP)\\d+\\w",
                    info: a.a.createElement("div", null, Object(Ke.a)("UCP (Unicode Character Properties) allows regex to treat the string as unicode, which means that \\d and \\w are extended to match other unicode characters than [0-9] and [a-zA-Z0-9_].")),
                    keywords: ["utf", "string", "unicode", "\\x", "\\u"],
                    flavors: [_.a.PCRE]
                }, {
                    token: "(*CR)",
                    desc: Object(Ke.a)("Line break modifier"),
                    info: a.a.createElement("div", null, Object(Ke.a)("(*CR) makes it so that only a carriage return character is considered a line break.")),
                    keywords: ["only", "one", "specific", "return", "carriage", "newline", "line", "break", "kind", "type", "feed"],
                    flavors: [_.a.PCRE]
                }, {
                    token: "(*LF)",
                    desc: Object(Ke.a)("Line break modifier"),
                    info: a.a.createElement("div", null, Object(Ke.a)("(*LF) makes it so that only a line feed character is considered a line break. Common in UNIX documents.")),
                    keywords: ["only", "one", "specific", "return", "carriage", "newline", "line", "break", "kind", "type", "feed"],
                    flavors: [_.a.PCRE]
                }, {
                    token: "(*CRLF)",
                    desc: Object(Ke.a)("Line break modifier"),
                    info: a.a.createElement("div", null, Object(Ke.a)("(*CRLF) makes it so that only a carriage return character followed by a line feed character is considered a line break. Common in Windows documents.")),
                    keywords: ["only", "one", "specific", "return", "carriage", "newline", "line", "break", "kind", "type", "feed"],
                    flavors: [_.a.PCRE]
                }, {
                    token: "(*ANYCRLF)",
                    desc: Object(Ke.a)("Line break modifier"),
                    info: a.a.createElement("div", null, Object(Ke.a)("(*ANYCRLF) makes it so that either a carriage return character or a line feed character, or the two in sequence are considered a line break.")),
                    keywords: ["only", "one", "specific", "return", "carriage", "newline", "line", "break", "kind", "type", "feed"],
                    flavors: [_.a.PCRE]
                }, {
                    token: "(*ANY)",
                    desc: Object(Ke.a)("Line break modifier"),
                    info: a.a.createElement("div", null, Object(Ke.a)("(*ANY) makes it so that any unicode newline character or sequence thereof counts as a line break.")),
                    keywords: ["only", "one", "specific", "return", "carriage", "newline", "line", "break", "kind", "type", "feed", "unicode"],
                    flavors: [_.a.PCRE]
                }, {
                    token: "\\R",
                    desc: Object(Ke.a)("Line break modifier"),
                    info: a.a.createElement("div", null, Object(Ke.a)("This metacharacter matches any unicode newline character or sequence thereof. Its behavior can be controlled by (*UTF) pattern modifiers. In (*UTF8) mode, '\\R' will match the line separator, paragraph separator, carriage return, carriage return & newline sequence, line feed, vertical tab, form feed, and next line. When outside (*UTF8) mode, line and paragraph separators are not matched. Newline conventions can also be specified via (*BSR_ANYCRLF) and (*BSR_UNICODE)")),
                    keywords: ["only", "one", "specific", "return", "carriage", "newline", "line", "break", "kind", "type", "feed", "unicode"],
                    flavors: [_.a.PCRE]
                }, {
                    token: "(*BSR_ANYCRLF)",
                    desc: Object(Ke.a)("Line break modifier"),
                    info: a.a.createElement("div", null, Object(Ke.a)("This sets the convention for newline matching to '\\r\\n','\\r', or '\\n' for things like the '\\R' metacharacter.")),
                    keywords: ["only", "one", "specific", "return", "carriage", "newline", "line", "break", "kind", "type", "feed", "unicode"],
                    flavors: [_.a.PCRE]
                }, {
                    token: "(*BSR_UNICODE)",
                    desc: Object(Ke.a)("Line break modifier"),
                    info: a.a.createElement("div", null, Object(Ke.a)("This sets the convention for newline matching to any unicode newline character or sequence thereof, for things like the '\\R' metacharacter.")),
                    keywords: ["only", "one", "specific", "return", "carriage", "newline", "line", "break", "kind", "type", "feed", "unicode"],
                    flavors: [_.a.PCRE]
                }, {
                    token: "(*LIMIT_MATCH=x)",
                    desc: Object(Ke.a)("Regex engine modifier"),
                    info: a.a.createElement("div", null, Object(Ke.a)("(*LIMIT_MATCH=x) where x is the number of times the regex engine is allowed to call match(). This user set limit cannot be increased past the compile time value or the default, however it can be restricted.")),
                    keywords: ["engine", "optimization", "specific", "match", "limits"],
                    flavors: [_.a.PCRE]
                }, {
                    token: "(*LIMIT_RECURSION=d)",
                    desc: Object(Ke.a)("Regex engine modifier"),
                    info: a.a.createElement("div", null, Object(Ke.a)("(*LIMIT_RECURSION=d) at the start of a pattern will limit the regex engine to 'd' number of recursions when matching. This user set limit cannot be increased past the compile time value or the default, however it can be restricted.")),
                    keywords: ["engine", "optimization", "specific", "match", "limits"],
                    flavors: [_.a.PCRE]
                }, {
                    token: "(*NO_AUTO_POSSESS)",
                    desc: Object(Ke.a)("Regex engine modifier"),
                    info: a.a.createElement("div", null, Object(Ke.a)("The PCRE regex engine automatically applies some internal optimizations to regexes to avoid unnecessary backtracking. This modifier will disable that behavior, and thus the engine will backtrack until the previously matching instruction fails to do so.")),
                    keywords: ["engine", "optimization", "specific", "match", "limits"],
                    flavors: [_.a.PCRE]
                }, {
                    token: "(*NO_START_OPT)",
                    desc: Object(Ke.a)("Regex engine modifier"),
                    info: a.a.createElement("div", null, Object(Ke.a)("Before even attempting a match, the regex engine makes some checks, such as the length of the string. If it is not long enough to fit the pattern, it will automatically return a no match. This optimization can be disabled by using this modifier.")),
                    keywords: ["engine", "optimization", "specific", "match", "limits"],
                    flavors: [_.a.PCRE]
                }]), e_(e, Wv, [{
                    token: "a?",
                    basic: !0,
                    desc: Object(Ke.a)("Zero or one of a"),
                    example: a.a.createElement("div", null, a.a.createElement("span", {
                        className: Zv.a.group0
                    }, "ba"), " ", a.a.createElement("span", {
                        className: Zv.a.group0
                    }, "b"), " a"),
                    exampleRegex: "ba?",
                    regexFlags: "g",
                    info: a.a.createElement("div", null, Object(Ke.a)("Matches an `a` character or nothing.")),
                    keywords: ["optional", "one", "once"],
                    flavors: [_.a.JAVASCRIPT, _.a.PYTHON, _.a.PCRE, _.a.GOLANG]
                }, {
                    token: "a*",
                    basic: !0,
                    desc: Object(Ke.a)("Zero or more of a"),
                    example: a.a.createElement("div", null, "a ", a.a.createElement("span", {
                        className: Zv.a.group0
                    }, "ba"), " ", a.a.createElement("span", {
                        className: Zv.a.group0
                    }, "baa"), " aaa", " ", a.a.createElement("span", {
                        className: Zv.a.group0
                    }, "ba"), " ", a.a.createElement("span", {
                        className: Zv.a.group0
                    }, "b")),
                    exampleRegex: "ba*",
                    regexFlags: "g",
                    info: a.a.createElement("div", null, Object(Ke.a)("Matches zero or more consecutive `a` characters.")),
                    keywords: ["zero", "optional", "none", "infinity"],
                    flavors: [_.a.JAVASCRIPT, _.a.PYTHON, _.a.PCRE, _.a.GOLANG]
                }, {
                    token: "a+",
                    basic: !0,
                    desc: Object(Ke.a)("One or more of a"),
                    example: a.a.createElement("div", null, a.a.createElement("span", {
                        className: Zv.a.group0
                    }, "a"), " ", a.a.createElement("span", {
                        className: Zv.a.group0
                    }, "aa"), " ", a.a.createElement("span", {
                        className: Zv.a.group0
                    }, "aaa"), " ", a.a.createElement("span", {
                        className: Zv.a.group0
                    }, "aaaa"), " b", a.a.createElement("span", {
                        className: Zv.a.group0
                    }, "a"), "b b", a.a.createElement("span", {
                        className: Zv.a.group0
                    }, "aa"), "b"),
                    exampleRegex: "a+",
                    regexFlags: "g",
                    info: a.a.createElement("div", null, Object(Ke.a)("Matches one or more consecutive `a` characters.")),
                    keywords: ["one", "more", "optional", "than", "infinity"],
                    flavors: [_.a.JAVASCRIPT, _.a.PYTHON, _.a.PCRE, _.a.GOLANG]
                }, {
                    token: "a{3}",
                    basic: !0,
                    desc: Object(Ke.a)("Exactly 3 of a"),
                    example: a.a.createElement("div", null, "a aa ", a.a.createElement("span", {
                        className: Zv.a.group0
                    }, "aaa"), " ", a.a.createElement("span", {
                        className: Zv.a.group0
                    }, "aaa"), "a"),
                    exampleRegex: "a{3}",
                    regexFlags: "g",
                    info: a.a.createElement("div", null, Object(Ke.a)("Matches exactly 3 consecutive `a` characters.")),
                    keywords: ["specific", "number", "amount", "times", "only"],
                    flavors: [_.a.JAVASCRIPT, _.a.PYTHON, _.a.PCRE, _.a.GOLANG]
                }, {
                    token: "a{3,}",
                    basic: !0,
                    desc: Object(Ke.a)("3 or more of a"),
                    example: a.a.createElement("div", null, "a aa ", a.a.createElement("span", {
                        className: Zv.a.group0
                    }, "aaa"), " ", a.a.createElement("span", {
                        className: Zv.a.group0
                    }, "aaaa"), " ", a.a.createElement("span", {
                        className: Zv.a.group0
                    }, "aaaaaa")),
                    exampleRegex: "a{3,}",
                    info: a.a.createElement("div", null, Object(Ke.a)("Matches at least 3 consecutive `a` characters.")),
                    keywords: ["at", "least", "minimum", "specific", "exactly", "infinity", "many"],
                    flavors: [_.a.JAVASCRIPT, _.a.PYTHON, _.a.PCRE]
                }, {
                    token: "a{3,6}",
                    basic: !0,
                    desc: Object(Ke.a)("Between 3 and 6 of a"),
                    example: a.a.createElement("div", null, "a aa ", a.a.createElement("span", {
                        className: Zv.a.group0
                    }, "aaa"), " ", a.a.createElement("span", {
                        className: Zv.a.group0
                    }, "aaaa"), " ", a.a.createElement("span", {
                        className: Zv.a.group0
                    }, "aaaaaa"), "aaaa"),
                    exampleRegex: "a{3,6}",
                    info: a.a.createElement("div", null, Object(Ke.a)("Matches between 3 and 6 (inclusive) consecutive `a` characters.")),
                    keywords: ["specific", "number", "amount", ""],
                    flavors: [_.a.JAVASCRIPT, _.a.PYTHON, _.a.PCRE, _.a.GOLANG]
                }, {
                    token: "a*",
                    desc: Object(Ke.a)("Greedy quantifier"),
                    example: a.a.createElement("div", null, "greedy c", a.a.createElement("span", {
                        className: Zv.a.group0
                    }, "an be dangerous a"), "t times"),
                    exampleRegex: "a.*a",
                    info: a.a.createElement("div", null, Object(Ke.a)("Matches as many characters as possible.")),
                    keywords: ["zero", "more", "infinity", "many"],
                    flavors: [_.a.JAVASCRIPT, _.a.PYTHON, _.a.PCRE, _.a.GOLANG]
                }, {
                    token: "a*?",
                    desc: Object(Ke.a)("Lazy quantifier"),
                    example: a.a.createElement("div", null, a.a.createElement("span", {
                        className: Zv.a.group0
                    }, "r"), " ", a.a.createElement("span", {
                        className: Zv.a.group0
                    }, "r"), "e", " ", a.a.createElement("span", {
                        className: Zv.a.group0
                    }, "r"), "egex"),
                    exampleRegex: "r\\w*?",
                    info: a.a.createElement("div", null, Object(Ke.a)("Matches as few characters as possible.")),
                    keywords: ["zero", "fewer", "first", "occurence", "least", "less"],
                    flavors: [_.a.JAVASCRIPT, _.a.PYTHON, _.a.PCRE]
                }, {
                    token: "a*+",
                    desc: Object(Ke.a)("Possessive quantifier"),
                    example: a.a.createElement("div", null, "123"),
                    exampleRegex: "\\d++.",
                    info: a.a.createElement($e.s, {
                        tag: "div",
                        text: "Matches as many characters as possible; backtracking can't reduce the number of characters matched. Because it is greedy, it will match all the way to the last digit, leaving nothing else for the {1} to match. Without backtracking, this regex fails to produce a match.",
                        ph1: "<span className={styles.group0}>.</span>"
                    }),
                    keywords: ["no", "backtracking", "maximum", "most", "prevent"],
                    flavors: [_.a.PCRE]
                }]), e_(e, Uv, [{
                    token: "\\G",
                    desc: Object(Ke.a)("Start of match"),
                    example: a.a.createElement("div", null, "Bob likes pie, George likes icecream"),
                    exampleRegex: "(?:George|\\G) likes ([^ ]+)",
                    info: a.a.createElement("div", null, Object(Ke.a)("This will match only at the starting point of the search or the position the previous successful match ended. Useful with the /g flag, or when you are only trying to match after a certain point in a string.")),
                    keywords: ["custom", "start", "after", "point", "specific"],
                    flavors: [_.a.PCRE]
                }, {
                    token: "^",
                    basic: !0,
                    desc: Object(Ke.a)("Start of string"),
                    example: a.a.createElement("div", null, a.a.createElement("span", {
                        className: Zv.a.group0
                    }, "start"), " of string"),
                    exampleRegex: "^\\w+",
                    info: a.a.createElement("div", null, Object(Ke.a)("Matches the start of a string without consuming any characters. If multiline mode is used, this will also match immediately after a newline character.")),
                    keywords: ["begining", "line", "start", "head", "string", "multi", "text"],
                    flavors: [_.a.JAVASCRIPT, _.a.PYTHON, _.a.PCRE, _.a.GOLANG]
                }, {
                    token: "$",
                    basic: !0,
                    desc: Object(Ke.a)("End of string"),
                    example: a.a.createElement("div", null, "end of ", a.a.createElement("span", {
                        className: Zv.a.group0
                    }, "string")),
                    exampleRegex: "\\w+$",
                    info: a.a.createElement("div", null, Object(Ke.a)("Matches the end of a string without consuming any characters. If multiline mode is used, this will also match immediately before a newline character.")),
                    keywords: ["last", "line", "tail", "very", "text"],
                    flavors: [_.a.JAVASCRIPT, _.a.PYTHON, _.a.PCRE, _.a.GOLANG]
                }, {
                    token: "\\A",
                    desc: Object(Ke.a)("Start of string"),
                    example: a.a.createElement("div", null, a.a.createElement("span", {
                        className: Zv.a.group0
                    }, "start"), " of string"),
                    exampleRegex: "\\A\\w+",
                    info: a.a.createElement("div", null, Object(Ke.a)("Matches the start of a string only. Unlike ^, this is not affected by multiline mode.")),
                    keywords: ["begining", "text", "start", "head", "string", "multi"],
                    flavors: [_.a.PCRE, _.a.PYTHON, _.a.GOLANG]
                }, {
                    token: "\\Z",
                    desc: Object(Ke.a)("End of string"),
                    example: a.a.createElement("div", null, "end of ", a.a.createElement("span", {
                        className: Zv.a.group0
                    }, "string")),
                    exampleRegex: "\\w+\\Z",
                    info: a.a.createElement("div", null, Object(Ke.a)("Matches the end of a string only. Unlike $, this is not affected by multiline mode.")),
                    keywords: ["last", "line", "tail", "very", "text"],
                    flavors: [_.a.PCRE, _.a.PYTHON]
                }, {
                    token: "\\z",
                    desc: Object(Ke.a)("Absolute end of string"),
                    example: a.a.createElement("div", null, "absolute end of ", a.a.createElement("span", {
                        className: Zv.a.group0
                    }, "string")),
                    exampleRegex: "\\w+\\z",
                    info: a.a.createElement("div", null, Object(Ke.a)("Matches the end of a string only. Unlike $, this is not affected by multiline mode, and, in contrast to \\Z, will not match before a trailing newline at the end of a string.")),
                    keywords: ["last", "tail", "very", "text"],
                    flavors: [_.a.PCRE, _.a.GOLANG]
                }, {
                    token: "\\b",
                    basic: !0,
                    desc: Object(Ke.a)("A word boundary"),
                    example: a.a.createElement("div", null, "wor", a.a.createElement("span", {
                        className: Zv.a.group0
                    }, "d"), " boundaries are od", a.a.createElement("span", {
                        className: Zv.a.group0
                    }, "d")),
                    exampleRegex: "d\\b",
                    regexFlags: "g",
                    info: a.a.createElement("div", null, Object(Ke.a)("Matches, without consuming any characters, immediately between a character matched by \\w and a character not matched by \\w (in either order). It cannot be used to separate non words from words.")),
                    keywords: ["word", "real", "only", "start", "end"],
                    flavors: [_.a.JAVASCRIPT, _.a.PYTHON, _.a.PCRE, _.a.GOLANG]
                }, {
                    token: "\\B",
                    basic: !0,
                    desc: Object(Ke.a)("Non-word boundary"),
                    example: a.a.createElement("div", null, a.a.createElement("span", {
                        className: Zv.a.group0
                    }, "r"), "egex is ", a.a.createElement("span", {
                        className: Zv.a.group0
                    }, "r"), "eally cool"),
                    exampleRegex: "r\\B",
                    regexFlags: "g",
                    info: a.a.createElement("div", null, Object(Ke.a)("Matches, without consuming any characters, at the position between two characters matched by \\w.")),
                    keywords: ["word", "part", "partially", "extract", "match", "only"],
                    flavors: [_.a.JAVASCRIPT, _.a.PYTHON, _.a.PCRE, _.a.GOLANG]
                }]), e_(e, $v, [{
                    token: "g",
                    desc: Object(Ke.a)("Global"),
                    example: a.a.createElement("div", null, "match ", a.a.createElement("span", {
                        className: Zv.a.group0
                    }, "this"), " and again", " ", a.a.createElement("span", {
                        className: Zv.a.group0
                    }, "this")),
                    exampleRegex: "this",
                    regexFlags: "g",
                    info: a.a.createElement("div", null, Object(Ke.a)("Tells the engine not to stop after the first match has been found, but rather to continue until no more matches can be found.")),
                    keywords: ["more", "multiple", "stop", "match", "one", "continue", "after"],
                    flavors: [_.a.JAVASCRIPT, _.a.PYTHON, _.a.PCRE, _.a.GOLANG]
                }, {
                    token: "m",
                    desc: Object(Ke.a)("Multiline"),
                    example: a.a.createElement("div", null, a.a.createElement("span", {
                        className: Zv.a.group0
                    }, "digits coming up 443")),
                    exampleRegex: "^d.+\\d{3}$",
                    regexFlags: "m",
                    info: a.a.createElement("div", null, Object(Ke.a)("The ^ and $ anchors now match at the beginning/end of each line respectively, instead of beginning/end of the entire string.")),
                    keywords: ["anchor", "start", "string", "line", "input", "end", "last", "head", "tail"],
                    flavors: [_.a.JAVASCRIPT, _.a.PYTHON, _.a.PCRE, _.a.GOLANG]
                }, {
                    token: "i",
                    desc: Object(Ke.a)("Case insensitive"),
                    example: a.a.createElement("div", null, a.a.createElement("span", {
                        className: Zv.a.group0
                    }, "A"), " or", " ", a.a.createElement("span", {
                        className: Zv.a.group0
                    }, "a")),
                    exampleRegex: "a",
                    regexFlags: "gi",
                    info: a.a.createElement("div", null, Object(Ke.a)("A case insensitive match is performed, meaning capital letters will be matched by non-capital letters and vice versa.")),
                    keywords: ["upper", "lower", "regardless", "case", "letters", "either"],
                    flavors: [_.a.JAVASCRIPT, _.a.PYTHON, _.a.PCRE, _.a.GOLANG]
                }, {
                    token: "x",
                    desc: Object(Ke.a)("Ignore whitespace"),
                    example: a.a.createElement("div", null, a.a.createElement("span", {
                        className: Zv.a.group0
                    }, "a"), "#comment here"),
                    exampleRegex: "a#comment here",
                    regexFlags: "x",
                    info: a.a.createElement("div", null, Object(Ke.a)("This flag tells the engine to ignore all whitespace and allow for comments in the regex. Comments are indicated by a starting \"#\"-character. If you need to include a space character in your regex, it must now be escaped '\\ '.")),
                    keywords: ["comments", "instructions", "text", "non", "pattern", "notes", "extra", "information", "include"],
                    flavors: [_.a.PYTHON, _.a.PCRE]
                }, {
                    token: "s",
                    desc: Object(Ke.a)("Single line"),
                    example: a.a.createElement("div", null, "on", a.a.createElement("span", {
                        className: Zv.a.group0
                    }, "e", a.a.createElement("br", null), "two", a.a.createElement("br", null), "thr"), "ee"),
                    exampleRegex: "e.*r",
                    regexFlags: "s",
                    info: a.a.createElement("div", null, Object(Ke.a)("This enables the dot (.) metacharacter to also match new lines. The string could be visualised as a single line input.")),
                    keywords: ["dotall", "all", "dot", "newline", "\\n", "line", "single", "paragraph"],
                    flavors: [_.a.PYTHON, _.a.PCRE, _.a.GOLANG]
                }, {
                    token: "u",
                    desc: Object(Ke.a)("Unicode"),
                    example: a.a.createElement("div", null, a.a.createElement("span", {
                        className: Zv.a.group0
                    }, "\xe7a"), " va?"),
                    exampleRegex: "\\wa",
                    regexFlags: "u",
                    info: a.a.createElement("div", null, Object(Ke.a)("Pattern strings will be treated as UTF-16, which means that unicode characters will also be included in [a-z] ranges, and in escape sequences.")),
                    keywords: ["unicode", "\\x", "\\u", "alphabet", "foreign", "characters"],
                    flavors: [_.a.PCRE]
                }, {
                    token: "X",
                    desc: Object(Ke.a)("eXtended"),
                    example: a.a.createElement("div", null, "Boo."),
                    exampleRegex: "\\x42oo\\.",
                    regexFlags: "X",
                    info: a.a.createElement("div", null, Object(Ke.a)("Any character following a \\ that is not a valid meta sequence will be faulted and raise an error. For example, escaping a (.) meta character will cause an error, and it will not match.")),
                    keywords: ["meta", "only", "sequence", "no", "escaping"],
                    flavors: [_.a.PCRE]
                }, {
                    token: "U",
                    desc: Object(Ke.a)("Ungreedy"),
                    example: a.a.createElement("div", null, a.a.createElement("span", {
                        className: Zv.a.group0
                    }, "a"), "aaa"),
                    exampleRegex: "a+",
                    regexFlags: "U",
                    info: a.a.createElement("div", null, Object(Ke.a)("The engine will per default do lazy matching, instead of greedy. This means that a ? following a quantifier instead makes it greedy.")),
                    keywords: ["lazy", "non", "greedy", "swap", "default"],
                    flavors: [_.a.PCRE, _.a.GOLANG]
                }, {
                    token: "A",
                    desc: Object(Ke.a)("Anchor"),
                    example: a.a.createElement("div", null, a.a.createElement("span", {
                        className: Zv.a.group0
                    }, "aaaa"), " aaaa"),
                    exampleRegex: "a+",
                    regexFlags: "gA",
                    info: a.a.createElement("div", null, Object(Ke.a)("The pattern is forced to become anchored at the start of the search or at the position of the last successful match, equal to a \\G.")),
                    keywords: ["begining", "text", "start", "head", "string", "multi"],
                    flavors: [_.a.PCRE]
                }, {
                    token: "J",
                    desc: Object(Ke.a)("Duplicate group names"),
                    example: a.a.createElement("div", null, a.a.createElement("span", {
                        className: Zv.a.group1
                    }, "a"), a.a.createElement("span", {
                        className: Zv.a.group2
                    }, "b")),
                    exampleRegex: "(?<letter>a)(?<letter>b)",
                    regexFlags: "J",
                    info: a.a.createElement("div", null, Object(Ke.a)("This allows regex to accept duplicate pattern names, however each capture group still has its own ID. Thus the two capture groups produce their own match instead of a single combined one.")),
                    keywords: ["begining", "text", "start", "head", "string", "multi"],
                    flavors: [_.a.PCRE]
                }, {
                    token: "y",
                    desc: Object(Ke.a)("Sticky - searches in strings only from the index of the last match"),
                    example: a.a.createElement("div", null, a.a.createElement("span", {
                        className: Zv.a.group0
                    }, "a"), a.a.createElement("span", {
                        className: Zv.a.group0
                    }, "bc"), "Xabc"),
                    exampleRegex: "a|bc",
                    regexFlags: "gy",
                    info: a.a.createElement("div", null, a.a.createElement("div", null, Object(Ke.a)("Regex will continue parsing the string keeping in mind the last match location. If the next match is not located directly after the last, this next match is discarded.")), a.a.createElement("div", null, Object(Ke.a)('In the example below, the first alternate matched "a", and the second one matched "bc", however once it bumped into "X" none of the alternatives resulted in a match. Therefore the engine cannot return the next "a" as a match because "X" is not the last location where a match occurred.'))),
                    keywords: ["sticky", "match", "first", "point", "forward", "after", "only"],
                    flavors: [_.a.JAVASCRIPT]
                }, {
                    token: "u",
                    desc: Object(Ke.a)("Enable unicode support"),
                    example: a.a.createElement("div", null, "a", a.a.createElement("span", {
                        className: Zv.a.group0
                    }, "\ud834\udf06"), "b"),
                    exampleRegex: "\ud834\udf06",
                    regexFlags: "u",
                    info: a.a.createElement("div", null, Object(Ke.a)("Allows regex to match unicode characters via dotall and unicode escape sequences, as well as ES6 unicode code point escapes such as \\u{1D306}.")),
                    keywords: ["unicode", "special", "alphabet", "characters", "foreign", "symbols", "strings"],
                    flavors: [_.a.JAVASCRIPT]
                }, {
                    token: "u",
                    desc: Object(Ke.a)("Enable unicode support"),
                    example: a.a.createElement("div", null, "a", a.a.createElement("span", {
                        className: Zv.a.group0
                    }, "\u03b1"), "beta"),
                    exampleRegex: "\u03b1",
                    regexFlags: "u",
                    info: a.a.createElement("div", null, a.a.createElement("div", null, Object(Ke.a)("Pattern strings will be treated as UTF-16, which means that unicode characters will also be included in [a-z] ranges, and in escape sequences.")), a.a.createElement("div", null, Object(Ke.a)('Keep in mind that Python 3 is going to treat your whole script as unicode by default, therefore using this flag would be redundant. See the "a" flag to limit matches to ASCII characters only. Python 2 requires this flag to turn on unicode support.'))),
                    keywords: ["unicode", "special", "alphabet", "characters", "foreign", "symbols", "strings"],
                    flavors: [_.a.PYTHON]
                }, {
                    token: "a",
                    desc: Object(Ke.a)("Restrict matches to ASCII only"),
                    example: a.a.createElement("div", null, "\u03b1", a.a.createElement("span", {
                        className: Zv.a.group0
                    }, "beta")),
                    exampleRegex: "w+",
                    regexFlags: "u",
                    info: a.a.createElement("div", null, a.a.createElement("div", null, Object(Ke.a)("Make regex perform ASCII-only matching instead of full Unicode matching. Applies to [a-z] ranges and escape sequences.")), a.a.createElement("div", null, Object(Ke.a)("This flag does not exist in Python2, as by default your script is parsed in ascii mode. In Python3 this will behave as described."))),
                    keywords: ["unicode", "ascii", "alphabet", "characters", "normal", "symbols", "strings", "english"],
                    flavors: [_.a.PYTHON]
                }]), e_(e, Yv, [{
                    token: "\\g<0>",
                    desc: Object(Ke.a)("Complete match contents"),
                    info: a.a.createElement("div", null, Object(Ke.a)("This will return a string with the complete match result if '\\g<0>' is used, or any desired capture group number if '0' is replaced with the ID of that capture group")),
                    keywords: ["full", "match", "capture", "group", "particular", "part", "some", "all", "found", "characters", "strings"],
                    flavors: [_.a.PYTHON]
                }, {
                    token: "\\0",
                    desc: Object(Ke.a)("Complete match contents"),
                    info: a.a.createElement("div", null, Object(Ke.a)("This will return a string with the complete match result from the regex.")),
                    keywords: ["full", "match", "all", "found", "characters", "strings"],
                    flavors: [_.a.PCRE, _.a.PYTHON, _.a.GOLANG]
                }, {
                    token: "\\1",
                    desc: Object(Ke.a)("Contents in capture group 1"),
                    info: a.a.createElement("div", null, Object(Ke.a)("This will return a string with the contents from the first capture group. The number, in this case 1, can be any number as long as it corresponds to a valid capture group.")),
                    keywords: ["group", "capture", "first", "one", "many", "particular"],
                    flavors: [_.a.PCRE, _.a.PYTHON, _.a.GOLANG]
                }, {
                    token: "$1",
                    desc: Object(Ke.a)("Contents in capture group 1"),
                    info: a.a.createElement("div", null, Object(Ke.a)("This will return a string with the contents from the first capture group. The number, in this case 1, can be any number as long as it corresponds to a valid capture group.")),
                    keywords: ["group", "capture", "first", "one", "many", "particular"],
                    flavors: [_.a.JAVASCRIPT, _.a.PCRE, _.a.PYTHON, _.a.GOLANG]
                }, {
                    token: "$`",
                    desc: Object(Ke.a)("Contents before match"),
                    info: a.a.createElement("div", null, Object(Ke.a)("This will return a portion of the source string that precedes the match.")),
                    keywords: ["before", "leading", "up", "to", "ahead"],
                    flavors: [_.a.JAVASCRIPT]
                }, {
                    token: "$'",
                    desc: Object(Ke.a)("Contents after match"),
                    info: a.a.createElement("div", null, Object(Ke.a)("This will return a portion of the source string that follows the match.")),
                    keywords: ["after", "following", "past", "behind"],
                    flavors: [_.a.JAVASCRIPT]
                }, {
                    token: "$&",
                    desc: Object(Ke.a)("Complete match contents"),
                    info: a.a.createElement("div", null, Object(Ke.a)("This will return a string with the complete match result from the regex.")),
                    keywords: ["all", "total", "including"],
                    flavors: [_.a.JAVASCRIPT]
                }, {
                    token: "${foo}",
                    desc: Object(Ke.a)("Contents in capture group `foo`"),
                    info: a.a.createElement("div", null, Object(Ke.a)("This will return a string with the contents from the capture group named `foo`. Any name can be used as long as it is defined in the regex. This syntax is made up and specific to only Regex101. If the J-flag is specified, content will be taken from the first capture group with the same name.")),
                    keywords: ["recall", "group", "named", "invoke", "request", "called", "regex101"],
                    flavors: [_.a.PCRE, _.a.PYTHON, _.a.GOLANG]
                }, {
                    token: "\\x20",
                    desc: Object(Ke.a)("Hexadecimal replacement values"),
                    info: a.a.createElement("div", null, Object(Ke.a)("You can use hexadecimals to insert any character into the replacement string using the standard syntax.")),
                    keywords: ["hexadecimal", "value", "custom", "characters"],
                    flavors: [_.a.PCRE, _.a.PYTHON, _.a.JAVASCRIPT]
                }, {
                    token: "\\x{06fa}",
                    desc: Object(Ke.a)("Hexadecimal replacement values"),
                    info: a.a.createElement("div", null, Object(Ke.a)("You can use hexadecimals to insert any character into the replacement string using the standard syntax.")),
                    keywords: ["hexadecimal", "value", "custom", "characters"],
                    flavors: [_.a.PCRE, _.a.PYTHON, _.a.JAVASCRIPT, _.a.GOLANG]
                }, {
                    token: "\\t",
                    desc: Object(Ke.a)("Tab"),
                    info: a.a.createElement("div", null, Object(Ke.a)("Insert a tab character.")),
                    keywords: ["spaces", "four", "tab", "empty"],
                    flavors: [_.a.PCRE, _.a.PYTHON, _.a.JAVASCRIPT, _.a.GOLANG]
                }, {
                    token: "\\r",
                    desc: Object(Ke.a)("Carriage return"),
                    info: a.a.createElement("div", null, Object(Ke.a)("Insert a carriage return character.")),
                    keywords: ["enter", "newline", "new", "skip", "line"],
                    flavors: [_.a.PCRE, _.a.PYTHON, _.a.JAVASCRIPT, _.a.GOLANG]
                }, {
                    token: "\\n",
                    desc: Object(Ke.a)("Newline"),
                    info: a.a.createElement("div", null, Object(Ke.a)("Insert a newline character.")),
                    keywords: ["enter", "return", "newline", "new", "skip", "line"],
                    flavors: [_.a.PCRE, _.a.PYTHON, _.a.JAVASCRIPT, _.a.GOLANG]
                }, {
                    token: "\\f",
                    desc: Object(Ke.a)("Form-feed"),
                    info: a.a.createElement("div", null, Object(Ke.a)("Insert a form-feed character.")),
                    keywords: ["form", "feed", "new", "skip", "page"],
                    flavors: [_.a.PCRE, _.a.PYTHON, _.a.JAVASCRIPT, _.a.GOLANG]
                }, {
                    token: "\\U",
                    desc: Object(Ke.a)("Uppercase Transformation"),
                    info: a.a.createElement("div", null, Object(Ke.a)("Transforms text to uppercase until either end of string or a \\E is encountered. This is a feature only available on regex101.com.")),
                    keywords: ["transform", "uppercase", "upper", "case"],
                    flavors: [_.a.PCRE]
                }, {
                    token: "\\L",
                    desc: Object(Ke.a)("Lowercase Transformation"),
                    info: a.a.createElement("div", null, Object(Ke.a)("Transforms text to lowercase until either end of string or a \\E is encountered. This is a feature only available on regex101.com.")),
                    keywords: ["transform", "lowercase", "lower", "case"],
                    flavors: [_.a.PCRE]
                }, {
                    token: "\\E",
                    desc: Object(Ke.a)("Terminate any Transformation"),
                    info: a.a.createElement("div", null, Object(Ke.a)("Terminates any of the previous \\U or \\L transformations. This is a feature only available on regex101.com.")),
                    keywords: ["transform", "terminate"],
                    flavors: [_.a.PCRE]
                }]), e);
                return t[Gv] = [].concat.apply([], Object.keys(t).map(function(e) {
                    return t[e].filter(function(e) {
                        return e.basic
                    })
                })), t[zv] = [].concat.apply([], Object.values(t)), t
            },
            a_ = n("./app/js/components/RightSidebar/Content/QuickrefDetails.css"),
            i_ = n.n(a_);

        function s_(e) {
            return (s_ = "function" === typeof Symbol && "symbol" === typeof Symbol.iterator ? function(e) {
                return typeof e
            } : function(e) {
                return e && "function" === typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e
            })(e)
        }

        function c_(e, t) {
            for (var n = 0; n < t.length; n++) {
                var r = t[n];
                r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(e, r.key, r)
            }
        }

        function u_(e, t) {
            return !t || "object" !== s_(t) && "function" !== typeof t ? function(e) {
                if (void 0 === e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
                return e
            }(e) : t
        }

        function l_(e) {
            return (l_ = Object.setPrototypeOf ? Object.getPrototypeOf : function(e) {
                return e.__proto__ || Object.getPrototypeOf(e)
            })(e)
        }

        function p_(e, t) {
            return (p_ = Object.setPrototypeOf || function(e, t) {
                return e.__proto__ = t, e
            })(e, t)
        }
        var f_, y_, b_, h_, d_ = Object(Wt.a)(Kt.a.defaultSpeed),
            m_ = parseInt(wt.a.rightSidebarBreakpoint, 10),
            g_ = {
                appear: i_.a.enter,
                appearActive: i_.a.enterActive,
                enter: i_.a.enter,
                enterActive: i_.a.enterActive,
                leave: i_.a.leave,
                leaveActive: i_.a.leaveActive
            },
            v_ = (r_ = n_ = function(e) {
                function t() {
                    return function(e, t) {
                        if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function")
                    }(this, t), u_(this, l_(t).apply(this, arguments))
                }
                var n, r, i;
                return function(e, t) {
                    if ("function" !== typeof t && null !== t) throw new TypeError("Super expression must either be null or a function");
                    e.prototype = Object.create(t && t.prototype, {
                        constructor: {
                            value: e,
                            writable: !0,
                            configurable: !0
                        }
                    }), t && p_(e, t)
                }(t, o["Component"]), n = t, (r = [{
                    key: "shouldComponentUpdate",
                    value: function(e, t) {
                        return this.props.isOpen || e.isOpen
                    }
                }, {
                    key: "componentWillReceiveProps",
                    value: function(e) {
                        e.isOpen && !this.props.isOpen ? _t.a.once("key:escape", this.onExitClick) : !e.isOpen && this.props.isOpen && _t.a.off("key:escape", this.onExitClick)
                    }
                }, {
                    key: "componentWillUnmount",
                    value: function() {
                        _t.a.off("key:escape", this.onExitClick)
                    }
                }, {
                    key: "onExitClick",
                    value: function(e) {
                        e && e.stopPropagation(), _t.a.off("key:escape", this.onExitClick), this.props.onDetailsClose()
                    }
                }, {
                    key: "render",
                    value: function() {
                        var e = this.props,
                            t = e.item,
                            n = e.isOpen,
                            r = e.target;
                        return a.a.createElement($e.p, {
                            isOpen: n,
                            closeTimeout: d_,
                            portalTarget: r
                        }, a.a.createElement($e.w, {
                            transitionName: g_,
                            transitionAppearTimeout: d_,
                            transitionEnterTimeout: d_,
                            transitionLeaveTimeout: d_
                        }, n && a.a.createElement("div", {
                            className: i_.a.opacityContainer
                        }, a.a.createElement("div", {
                            className: i_.a.quickrefDetails
                        }, a.a.createElement($e.m, {
                            text: t.desc,
                            className: i_.a.label
                        }, a.a.createElement("div", null, a.a.createElement($e.v, {
                            text: Object(Ke.a)("Close details"),
                            onClick: this.onExitClick,
                            className: i_.a.closeDetails,
                            direction: window && window.innerWidth > m_ ? Ot.b.NW : Ot.b.W
                        }, a.a.createElement($e.i, {
                            icon: "cancel"
                        })))), a.a.createElement("div", {
                            className: i_.a.details
                        }, a.a.createElement("div", {
                            className: i_.a.tokenExplanation
                        }, a.a.createElement("div", {
                            className: i_.a.token
                        }, a.a.createElement("span", {
                            className: Qv.a.tokenSample
                        }, t.token)), a.a.createElement("div", {
                            className: i_.a.explanationText
                        }, t.info)), !!t.exampleRegex && a.a.createElement("div", {
                            className: i_.a.regexExample
                        }, a.a.createElement(Ff, {
                            className: i_.a.resetFont
                        }, a.a.createElement("div", {
                            className: i_.a.regex
                        }, "/", t.exampleRegex, "/", t.regexFlags), a.a.createElement("div", {
                            className: i_.a.regexMatch
                        }, t.example))))))))
                    }
                }]) && c_(n.prototype, r), i && c_(n, i), t
            }(), n_.propTypes = {
                isOpen: He.a.bool.isRequired,
                onDetailsClose: He.a.func.isRequired,
                item: He.a.shape({
                    token: He.a.string.isRequired,
                    basic: He.a.bool,
                    desc: He.a.string.isRequired,
                    example: He.a.node,
                    exampleRegex: He.a.string,
                    regexFlags: He.a.string,
                    info: He.a.node.isRequired
                }),
                target: He.a.object
            }, function(e, t, n, r, o) {
                var a = {};
                Object.keys(r).forEach(function(e) {
                    a[e] = r[e]
                }), a.enumerable = !!a.enumerable, a.configurable = !!a.configurable, ("value" in a || a.initializer) && (a.writable = !0), a = n.slice().reverse().reduce(function(n, r) {
                    return r(e, t, n) || n
                }, a), o && void 0 !== a.initializer && (a.value = a.initializer ? a.initializer.call(o) : void 0, a.initializer = void 0), void 0 === a.initializer && (Object.defineProperty(e, t, a), a = null)
            }((t_ = r_).prototype, "onExitClick", [vt.a], Object.getOwnPropertyDescriptor(t_.prototype, "onExitClick"), t_.prototype), t_),
            __ = n("./app/js/components/RightSidebar/Content/Quickref.css"),
            O_ = n.n(__);

        function j_(e) {
            return (j_ = "function" === typeof Symbol && "symbol" === typeof Symbol.iterator ? function(e) {
                return typeof e
            } : function(e) {
                return e && "function" === typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e
            })(e)
        }

        function w_(e, t) {
            for (var n = 0; n < t.length; n++) {
                var r = t[n];
                r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(e, r.key, r)
            }
        }

        function k_(e, t) {
            return !t || "object" !== j_(t) && "function" !== typeof t ? function(e) {
                if (void 0 === e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
                return e
            }(e) : t
        }

        function E_(e) {
            return (E_ = Object.setPrototypeOf ? Object.getPrototypeOf : function(e) {
                return e.__proto__ || Object.getPrototypeOf(e)
            })(e)
        }

        function S_(e, t) {
            return (S_ = Object.setPrototypeOf || function(e, t) {
                return e.__proto__ = t, e
            })(e, t)
        }

        function x_(e, t, n, r, o) {
            var a = {};
            return Object.keys(r).forEach(function(e) {
                a[e] = r[e]
            }), a.enumerable = !!a.enumerable, a.configurable = !!a.configurable, ("value" in a || a.initializer) && (a.writable = !0), a = n.slice().reverse().reduce(function(n, r) {
                return r(e, t, n) || n
            }, a), o && void 0 !== a.initializer && (a.value = a.initializer ? a.initializer.call(o) : void 0, a.initializer = void 0), void 0 === a.initializer && (Object.defineProperty(e, t, a), a = null), a
        }
        var C_, P_, T_, R_, N_ = Object(We.b)(function(e) {
                return {
                    flavor: e.regexEditor.flavor
                }
            })((h_ = b_ = function(e) {
                function t(e) {
                    var n;
                    return function(e, t) {
                        if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function")
                    }(this, t), (n = k_(this, E_(t).call(this, e))).state = {
                        activeCategory: Gv,
                        showQuickrefDetails: !1,
                        search: "",
                        selectedItem: null
                    }, n.onSearch = N.a.debounce(n.onSearch, 300), n
                }
                var n, r, s;
                return function(e, t) {
                    if ("function" !== typeof t && null !== t) throw new TypeError("Super expression must either be null or a function");
                    e.prototype = Object.create(t && t.prototype, {
                        constructor: {
                            value: e,
                            writable: !0,
                            configurable: !0
                        }
                    }), t && S_(e, t)
                }(t, o["Component"]), n = t, (r = [{
                    key: "componentDidMount",
                    value: function() {
                        this._portalNode = Object(i.findDOMNode)(this).parentNode.parentNode
                    }
                }, {
                    key: "componentDidUpdate",
                    value: function(e) {
                        this.props.flavor !== e.flavor && this.setState({
                            showQuickrefDetails: !1,
                            selectedItem: null
                        })
                    }
                }, {
                    key: "componentWillUnmount",
                    value: function() {
                        this.onSearch.cancel()
                    }
                }, {
                    key: "_filterCategoryData",
                    value: function(e, t) {
                        var n = this;
                        return e.filter(function(e) {
                            var r = -1 !== e.flavors.indexOf(n.props.flavor);
                            if ("" !== t) {
                                var o = (t = t.toLowerCase()).split(/\s+/),
                                    a = -1 !== e.token.toLowerCase().indexOf(t) || -1 !== e.desc.toLowerCase().indexOf(t) || e.keywords && e.keywords.some(function(e) {
                                        return -1 !== o.indexOf(e)
                                    });
                                return r && a
                            }
                            return r
                        })
                    }
                }, {
                    key: "_getCategories",
                    value: function(e) {
                        var t = this,
                            n = [{
                                string: "" !== e ? Object(Ke.a)("Full Search Result") : Object(Ke.a)("All Tokens"),
                                id: zv,
                                icon: "database"
                            }, {
                                string: Object(Ke.a)("Common Tokens"),
                                id: Gv,
                                icon: "star"
                            }, {
                                string: Object(Ke.a)("General Tokens"),
                                id: Bv,
                                icon: "dot-circled"
                            }, {
                                string: Object(Ke.a)("Anchors"),
                                id: Uv,
                                icon: "anchor"
                            }, {
                                string: Object(Ke.a)("Meta Sequences"),
                                id: Hv,
                                icon: "lifebuoy"
                            }, {
                                string: Object(Ke.a)("Quantifiers"),
                                id: Wv,
                                icon: "asterisk"
                            }, {
                                string: Object(Ke.a)("Group Constructs"),
                                id: Vv,
                                icon: "dot-circled"
                            }, {
                                string: Object(Ke.a)("Character Classes"),
                                id: Kv,
                                icon: "th-large"
                            }, {
                                string: Object(Ke.a)("Flags/Modifiers"),
                                id: $v,
                                icon: "flag"
                            }, {
                                string: Object(Ke.a)("Substitution"),
                                id: Yv,
                                icon: "scissors"
                            }];
                        if ("" !== e) {
                            var r = o_();
                            return n.filter(function(n) {
                                return t._filterCategoryData(r[n.id], e).length > 0
                            })
                        }
                        return n
                    }
                }, {
                    key: "onNavigationClick",
                    value: function(e) {
                        this.setState({
                            activeCategory: e
                        })
                    }
                }, {
                    key: "onItemClick",
                    value: function(e) {
                        this.setState({
                            showQuickrefDetails: !0,
                            selectedItem: e
                        })
                    }
                }, {
                    key: "closeDetails",
                    value: function() {
                        this.setState({
                            showQuickrefDetails: !1
                        })
                    }
                }, {
                    key: "onSearch",
                    value: function(e) {
                        this.setState({
                            search: e
                        })
                    }
                }, {
                    key: "render",
                    value: function() {
                        var e = this,
                            t = this.state,
                            n = t.activeCategory,
                            r = t.search,
                            o = t.showQuickrefDetails,
                            i = t.selectedItem,
                            s = o_(),
                            c = this._getCategories(r),
                            u = c.find(function(e) {
                                return e.id === n
                            }) ? n : zv,
                            l = s[u];
                        return a.a.createElement("div", {
                            className: O_.a.root
                        }, a.a.createElement("div", {
                            className: O_.a.navigation
                        }, a.a.createElement($e.u, {
                            type: "text",
                            wrappedClassName: O_.a.search,
                            placeholder: Object(Ke.a)("Search reference"),
                            onChange: this.onSearch,
                            codeInput: !0
                        }), a.a.createElement(Mn, null, c.map(function(t) {
                            var n = t.id,
                                r = t.string,
                                o = t.icon;
                            return a.a.createElement(Yr, {
                                isActive: n === u,
                                icon: o,
                                onClick: function() {
                                    return e.onNavigationClick(n)
                                },
                                key: "quickref-category-".concat(n)
                            }, r)
                        }))), a.a.createElement("div", {
                            className: O_.a.spacer
                        }), a.a.createElement(Mn, {
                            className: O_.a.content
                        }, this._filterCategoryData(l, r).map(function(t, n) {
                            return a.a.createElement(Tr, {
                                onClick: function() {
                                    return e.onItemClick(t)
                                },
                                rightElement: t.token,
                                key: "quickref-category-entry-".concat(n)
                            }, t.desc)
                        })), a.a.createElement(v_, {
                            isOpen: o,
                            onDetailsClose: this.closeDetails,
                            item: i,
                            target: this._portalNode
                        }))
                    }
                }]) && w_(n.prototype, r), s && w_(n, s), t
            }(), b_.propTypes = {
                flavor: He.a.string.isRequired
            }, x_((y_ = h_).prototype, "onNavigationClick", [vt.a], Object.getOwnPropertyDescriptor(y_.prototype, "onNavigationClick"), y_.prototype), x_(y_.prototype, "onItemClick", [vt.a], Object.getOwnPropertyDescriptor(y_.prototype, "onItemClick"), y_.prototype), x_(y_.prototype, "closeDetails", [vt.a], Object.getOwnPropertyDescriptor(y_.prototype, "closeDetails"), y_.prototype), x_(y_.prototype, "onSearch", [vt.a], Object.getOwnPropertyDescriptor(y_.prototype, "onSearch"), y_.prototype), f_ = y_)) || f_,
            M_ = n("./app/js/components/RightSidebar/CollapsableElement.css"),
            A_ = n.n(M_);

        function I_(e) {
            return (I_ = "function" === typeof Symbol && "symbol" === typeof Symbol.iterator ? function(e) {
                return typeof e
            } : function(e) {
                return e && "function" === typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e
            })(e)
        }

        function L_(e, t) {
            for (var n = 0; n < t.length; n++) {
                var r = t[n];
                r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(e, r.key, r)
            }
        }

        function D_(e, t) {
            return !t || "object" !== I_(t) && "function" !== typeof t ? function(e) {
                if (void 0 === e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
                return e
            }(e) : t
        }

        function q_(e) {
            return (q_ = Object.setPrototypeOf ? Object.getPrototypeOf : function(e) {
                return e.__proto__ || Object.getPrototypeOf(e)
            })(e)
        }

        function F_(e, t) {
            return (F_ = Object.setPrototypeOf || function(e, t) {
                return e.__proto__ = t, e
            })(e, t)
        }
        var z_, G_, B_, U_ = Object(We.b)(function(e) {
                return {
                    visibleSections: e.rightSidebar.visibleSections
                }
            })((R_ = T_ = function(e) {
                function t() {
                    return function(e, t) {
                        if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function")
                    }(this, t), D_(this, q_(t).apply(this, arguments))
                }
                var n, r, i;
                return function(e, t) {
                    if ("function" !== typeof t && null !== t) throw new TypeError("Super expression must either be null or a function");
                    e.prototype = Object.create(t && t.prototype, {
                        constructor: {
                            value: e,
                            writable: !0,
                            configurable: !0
                        }
                    }), t && F_(e, t)
                }(t, o["Component"]), n = t, (r = [{
                    key: "onLabelClick",
                    value: function() {
                        var e = this.props,
                            t = e.dispatch,
                            n = e.subsection;
                        t(Object(ne.bb)(n)), t(Object(ne.r)())
                    }
                }, {
                    key: "render",
                    value: function() {
                        var e = this.props,
                            t = e.visibleSections,
                            n = e.subsection,
                            r = e.children,
                            o = e.title,
                            i = e.resizable,
                            s = t.includes(n);
                        return a.a.createElement($e.c, {
                            className: Je()(A_.a.contentArea, i && A_.a.resizable, !s && A_.a.shrinkArea),
                            header: a.a.createElement($e.b, {
                                collapsed: !s,
                                text: o,
                                className: A_.a.titleBtn,
                                onClick: this.onLabelClick
                            }),
                            contentClassName: A_.a.content
                        }, r)
                    }
                }]) && L_(n.prototype, r), i && L_(n, i), t
            }(), T_.propTypes = {
                dispatch: He.a.func.isRequired,
                children: He.a.element.isRequired,
                title: He.a.string.isRequired,
                resizable: He.a.bool,
                visibleSections: He.a.arrayOf(He.a.string).isRequired,
                subsection: He.a.string.isRequired
            }, function(e, t, n, r, o) {
                var a = {};
                Object.keys(r).forEach(function(e) {
                    a[e] = r[e]
                }), a.enumerable = !!a.enumerable, a.configurable = !!a.configurable, ("value" in a || a.initializer) && (a.writable = !0), a = n.slice().reverse().reduce(function(n, r) {
                    return r(e, t, n) || n
                }, a), o && void 0 !== a.initializer && (a.value = a.initializer ? a.initializer.call(o) : void 0, a.initializer = void 0), void 0 === a.initializer && (Object.defineProperty(e, t, a), a = null)
            }((P_ = R_).prototype, "onLabelClick", [vt.a], Object.getOwnPropertyDescriptor(P_.prototype, "onLabelClick"), P_.prototype), C_ = P_)) || C_,
            H_ = n("./app/js/components/RightSidebar/CollapsableRightSidebar.css"),
            W_ = n.n(H_);

        function V_(e) {
            return (V_ = "function" === typeof Symbol && "symbol" === typeof Symbol.iterator ? function(e) {
                return typeof e
            } : function(e) {
                return e && "function" === typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e
            })(e)
        }

        function K_(e, t) {
            for (var n = 0; n < t.length; n++) {
                var r = t[n];
                r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(e, r.key, r)
            }
        }

        function $_(e, t) {
            return !t || "object" !== V_(t) && "function" !== typeof t ? function(e) {
                if (void 0 === e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
                return e
            }(e) : t
        }

        function Y_(e) {
            return (Y_ = Object.setPrototypeOf ? Object.getPrototypeOf : function(e) {
                return e.__proto__ || Object.getPrototypeOf(e)
            })(e)
        }

        function J_(e, t) {
            return (J_ = Object.setPrototypeOf || function(e, t) {
                return e.__proto__ = t, e
            })(e, t)
        }

        function Q_(e, t, n, r, o) {
            var a = {};
            return Object.keys(r).forEach(function(e) {
                a[e] = r[e]
            }), a.enumerable = !!a.enumerable, a.configurable = !!a.configurable, ("value" in a || a.initializer) && (a.writable = !0), a = n.slice().reverse().reduce(function(n, r) {
                return r(e, t, n) || n
            }, a), o && void 0 !== a.initializer && (a.value = a.initializer ? a.initializer.call(o) : void 0, a.initializer = void 0), void 0 === a.initializer && (Object.defineProperty(e, t, a), a = null), a
        }
        var X_ = Object(Wt.a)(Kt.a.sidebarSpeed),
            Z_ = {
                appear: W_.a.enter,
                appearActive: W_.a.enterActive,
                enter: W_.a.enter,
                enterActive: W_.a.enterActive,
                leave: W_.a.leave,
                leaveActive: W_.a.leaveActive
            },
            eO = (B_ = G_ = function(e) {
                function t() {
                    var e, n;
                    ! function(e, t) {
                        if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function")
                    }(this, t);
                    for (var r = arguments.length, o = new Array(r), i = 0; i < r; i++) o[i] = arguments[i];
                    return (n = $_(this, (e = Y_(t)).call.apply(e, [this].concat(o))))._ref = a.a.createRef(), n.state = {
                        isOpen: !1
                    }, n
                }
                var n, r, i;
                return function(e, t) {
                    if ("function" !== typeof t && null !== t) throw new TypeError("Super expression must either be null or a function");
                    e.prototype = Object.create(t && t.prototype, {
                        constructor: {
                            value: e,
                            writable: !0,
                            configurable: !0
                        }
                    }), t && J_(e, t)
                }(t, o["Component"]), n = t, (r = [{
                    key: "onExitClick",
                    value: function(e) {
                        e.stopPropagation(), this._closeSidebar()
                    }
                }, {
                    key: "onMenuHamburgerClick",
                    value: function() {
                        this.setState({
                            isOpen: !0
                        }), _t.a.once("key:escape", this.onExitClick)
                    }
                }, {
                    key: "onBackdropClick",
                    value: function(e) {
                        var t = this._ref.current;
                        t && t.contains(e.target) || this._closeSidebar()
                    }
                }, {
                    key: "_closeSidebar",
                    value: function() {
                        this.setState({
                            isOpen: !1
                        }), _t.a.off("key:escape", this.onExitClick)
                    }
                }, {
                    key: "render",
                    value: function() {
                        var e = this.state.isOpen;
                        return a.a.createElement("div", null, a.a.createElement(Ip, {
                            containerClass: W_.a.menuHamburgerParent,
                            tooltipDirection: Ot.b.SW,
                            tooltipText: Object(Ke.a)("Show Sidebar"),
                            themeClass: W_.a.menuHamburger,
                            onClick: this.onMenuHamburgerClick
                        }), a.a.createElement($e.p, {
                            isOpen: e,
                            closeTimeout: X_
                        }, a.a.createElement($e.w, {
                            className: W_.a.collapsedSidebar,
                            transitionName: Z_,
                            transitionAppearTimeout: X_,
                            transitionEnterTimeout: X_,
                            transitionLeaveTimeout: X_
                        }, e && a.a.createElement("div", null, a.a.createElement("div", {
                            className: W_.a.sidebarBackdrop,
                            onClick: this.onBackdropClick,
                            onTouchEnd: this.onBackdropClick
                        }), a.a.createElement("nav", {
                            ref: this._ref,
                            className: W_.a.sidebar
                        }, this.props.children)))))
                    }
                }]) && K_(n.prototype, r), i && K_(n, i), t
            }(), G_.propTypes = {
                children: He.a.node
            }, Q_((z_ = B_).prototype, "onExitClick", [vt.a], Object.getOwnPropertyDescriptor(z_.prototype, "onExitClick"), z_.prototype), Q_(z_.prototype, "onMenuHamburgerClick", [vt.a], Object.getOwnPropertyDescriptor(z_.prototype, "onMenuHamburgerClick"), z_.prototype), Q_(z_.prototype, "onBackdropClick", [vt.a], Object.getOwnPropertyDescriptor(z_.prototype, "onBackdropClick"), z_.prototype), Q_(z_.prototype, "_closeSidebar", [vt.a], Object.getOwnPropertyDescriptor(z_.prototype, "_closeSidebar"), z_.prototype), z_),
            tO = n("./app/js/components/RightSidebar/CompactElement.css"),
            nO = n.n(tO);

        function rO(e) {
            return (rO = "function" === typeof Symbol && "symbol" === typeof Symbol.iterator ? function(e) {
                return typeof e
            } : function(e) {
                return e && "function" === typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e
            })(e)
        }

        function oO(e, t) {
            for (var n = 0; n < t.length; n++) {
                var r = t[n];
                r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(e, r.key, r)
            }
        }

        function aO(e, t) {
            return !t || "object" !== rO(t) && "function" !== typeof t ? function(e) {
                if (void 0 === e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
                return e
            }(e) : t
        }

        function iO(e) {
            return (iO = Object.setPrototypeOf ? Object.getPrototypeOf : function(e) {
                return e.__proto__ || Object.getPrototypeOf(e)
            })(e)
        }

        function sO(e, t) {
            return (sO = Object.setPrototypeOf || function(e, t) {
                return e.__proto__ = t, e
            })(e, t)
        }
        var cO = function(e) {
            function t() {
                return function(e, t) {
                    if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function")
                }(this, t), aO(this, iO(t).apply(this, arguments))
            }
            var n, r, i;
            return function(e, t) {
                if ("function" !== typeof t && null !== t) throw new TypeError("Super expression must either be null or a function");
                e.prototype = Object.create(t && t.prototype, {
                    constructor: {
                        value: e,
                        writable: !0,
                        configurable: !0
                    }
                }), t && sO(e, t)
            }(t, o["Component"]), n = t, (r = [{
                key: "render",
                value: function() {
                    var e = this.props,
                        t = e.title,
                        n = e.children;
                    return a.a.createElement("div", {
                        className: nO.a.root
                    }, a.a.createElement($e.k, {
                        text: t,
                        className: nO.a.label
                    }), a.a.createElement("div", {
                        className: nO.a.innerContents
                    }, n))
                }
            }]) && oO(n.prototype, r), i && oO(n, i), t
        }();
        cO.propTypes = {
            children: He.a.element,
            title: He.a.string.isRequired,
            className: He.a.string
        };
        var uO, lO, pO, fO = cO,
            yO = n("./app/js/components/RightSidebar/SubsectionMenu.css"),
            bO = n.n(yO);

        function hO(e) {
            return (hO = "function" === typeof Symbol && "symbol" === typeof Symbol.iterator ? function(e) {
                return typeof e
            } : function(e) {
                return e && "function" === typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e
            })(e)
        }

        function dO(e, t) {
            for (var n = 0; n < t.length; n++) {
                var r = t[n];
                r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(e, r.key, r)
            }
        }

        function mO(e, t) {
            return !t || "object" !== hO(t) && "function" !== typeof t ? function(e) {
                if (void 0 === e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
                return e
            }(e) : t
        }

        function gO(e) {
            return (gO = Object.setPrototypeOf ? Object.getPrototypeOf : function(e) {
                return e.__proto__ || Object.getPrototypeOf(e)
            })(e)
        }

        function vO(e, t) {
            return (vO = Object.setPrototypeOf || function(e, t) {
                return e.__proto__ = t, e
            })(e, t)
        }
        var _O, OO, jO, wO = Object(We.b)(function(e) {
            return {
                activeSubsection: e.rightSidebar.activeSubsection
            }
        })((pO = lO = function(e) {
            function t() {
                return function(e, t) {
                    if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function")
                }(this, t), mO(this, gO(t).apply(this, arguments))
            }
            var n, r, i;
            return function(e, t) {
                if ("function" !== typeof t && null !== t) throw new TypeError("Super expression must either be null or a function");
                e.prototype = Object.create(t && t.prototype, {
                    constructor: {
                        value: e,
                        writable: !0,
                        configurable: !0
                    }
                }), t && vO(e, t)
            }(t, o["Component"]), n = t, (r = [{
                key: "render",
                value: function() {
                    var e = this.props,
                        t = e.subsections,
                        n = e.activeSubsection,
                        r = e.dispatch;
                    return a.a.createElement("div", {
                        className: bO.a.root
                    }, t.map(function(e) {
                        var t = e.tooltip,
                            o = e.icon,
                            i = e.key;
                        return a.a.createElement($e.j, {
                            size: 34,
                            tooltip: t,
                            tooltipDirection: Ot.b.SE,
                            icon: o,
                            onClick: function() {
                                return r(Object(ne.t)(i))
                            },
                            className: Je()(bO.a.iconBtn, n === i && bO.a.active),
                            key: "smallRightSidebarBtn-".concat(i),
                            themeClass: bO.a.iconBtnTheme
                        })
                    }))
                }
            }]) && dO(n.prototype, r), i && dO(n, i), t
        }(), lO.propTypes = {
            activeSubsection: He.a.string.isRequired,
            subsections: He.a.arrayOf(He.a.shape({
                tooltip: He.a.string.isRequired,
                icon: He.a.string.isRequired,
                key: He.a.oneOf(f).isRequired
            })).isRequired,
            dispatch: He.a.func.isRequired
        }, uO = pO)) || uO;

        function kO(e) {
            return (kO = "function" === typeof Symbol && "symbol" === typeof Symbol.iterator ? function(e) {
                return typeof e
            } : function(e) {
                return e && "function" === typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e
            })(e)
        }

        function EO(e, t) {
            for (var n = 0; n < t.length; n++) {
                var r = t[n];
                r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(e, r.key, r)
            }
        }

        function SO(e, t) {
            return !t || "object" !== kO(t) && "function" !== typeof t ? function(e) {
                if (void 0 === e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
                return e
            }(e) : t
        }

        function xO(e) {
            return (xO = Object.setPrototypeOf ? Object.getPrototypeOf : function(e) {
                return e.__proto__ || Object.getPrototypeOf(e)
            })(e)
        }

        function CO(e, t) {
            return (CO = Object.setPrototypeOf || function(e, t) {
                return e.__proto__ = t, e
            })(e, t)
        }
        var PO, TO = parseFloat(wt.a.rightSidebarBreakpoint, 10),
            RO = Object(We.b)(function(e) {
                return {
                    showUnitTestArea: e.regexEditor.showUnitTestArea,
                    alwaysCollapseRightSidebar: e.settings.alwaysCollapseRightSidebar,
                    delimiter: e.regexEditor.delimiter,
                    flags: e.regexEditor.flags,
                    regex: e.regexEditor.regex,
                    flavor: e.regexEditor.flavor,
                    activeSubsection: e.rightSidebar.activeSubsection
                }
            })(_O = Object(vt.d)(TO)((jO = OO = function(e) {
                function t() {
                    return function(e, t) {
                        if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function")
                    }(this, t), SO(this, xO(t).apply(this, arguments))
                }
                var n, r, i;
                return function(e, t) {
                    if ("function" !== typeof t && null !== t) throw new TypeError("Super expression must either be null or a function");
                    e.prototype = Object.create(t && t.prototype, {
                        constructor: {
                            value: e,
                            writable: !0,
                            configurable: !0
                        }
                    }), t && CO(e, t)
                }(t, o["Component"]), n = t, (r = [{
                    key: "render",
                    value: function() {
                        var e = this.props,
                            t = e.alwaysCollapseRightSidebar,
                            n = e.viewport,
                            r = e.showUnitTestArea,
                            o = e.regex,
                            i = e.flags,
                            s = e.delimiter,
                            c = e.flavor;
                        if (t || n.width < TO) {
                            var u = [{
                                tooltip: Object(Ke.a)("View Explanation"),
                                icon: "sitemap",
                                key: p
                            }];
                            return r || u.push({
                                tooltip: Object(Ke.a)("View Match Information"),
                                icon: "list-numbered",
                                key: "MATCH_INFO"
                            }), u.push({
                                tooltip: Object(Ke.a)("View Regex Quick Reference"),
                                icon: "info-circled",
                                key: "QUICKREF"
                            }), a.a.createElement(eO, null, a.a.createElement(wO, {
                                subsections: u
                            }), this._renderActiveSubsection())
                        }
                        return a.a.createElement(rm, null, a.a.createElement(U_, {
                            title: Object(Ke.a)("Explanation"),
                            subsection: p,
                            resizable: !0
                        }, a.a.createElement(dg, {
                            regex: o,
                            flags: i,
                            delimiter: s,
                            flavor: c
                        })), !r && a.a.createElement(U_, {
                            title: Object(Ke.a)("Match Information"),
                            subsection: "MATCH_INFO",
                            resizable: !0
                        }, a.a.createElement(Fv, null)), a.a.createElement(U_, {
                            title: Object(Ke.a)("Quick Reference"),
                            subsection: "QUICKREF"
                        }, a.a.createElement(N_, null)))
                    }
                }, {
                    key: "_renderActiveSubsection",
                    value: function() {
                        var e = this.props,
                            t = e.activeSubsection,
                            n = e.regex,
                            r = e.flags,
                            o = e.delimiter,
                            i = e.flavor;
                        switch (t) {
                            case p:
                                return a.a.createElement(fO, {
                                    title: Object(Ke.a)("Explanation")
                                }, a.a.createElement(dg, {
                                    regex: n,
                                    flags: r,
                                    delimiter: o,
                                    flavor: i
                                }));
                            case "MATCH_INFO":
                                return a.a.createElement(fO, {
                                    title: Object(Ke.a)("Match Information")
                                }, a.a.createElement(Fv, null));
                            case "QUICKREF":
                                return a.a.createElement(fO, {
                                    title: Object(Ke.a)("Quick Reference")
                                }, a.a.createElement(N_, null));
                            default:
                                throw new Error("Unknown subsection '".concat(t, "'"))
                        }
                    }
                }]) && EO(n.prototype, r), i && EO(n, i), t
            }(), OO.propTypes = {
                viewport: He.a.object.isRequired,
                showUnitTestArea: He.a.bool.isRequired,
                alwaysCollapseRightSidebar: He.a.bool.isRequired,
                delimiter: He.a.string.isRequired,
                flags: He.a.string.isRequired,
                regex: He.a.string.isRequired,
                flavor: He.a.string.isRequired,
                activeSubsection: He.a.oneOf(f).isRequired
            }, _O = jO)) || _O) || _O,
            NO = "REGEX";

        function MO(e) {
            if (e === NO) return Object(Ke.a)("regex");
            if (0 === (e = parseInt(e, 10))) return Object(Ke.a)("full match");
            var t = e;
            return e !== Zb.a.captureGroupMap[e] && (t += " (" + Zb.a.captureGroupMap[e] + ")"), Object(Ke.a)("capture group {1}", t)
        }

        function AO(e, t, n) {
            return t in e ? Object.defineProperty(e, t, {
                value: n,
                enumerable: !0,
                configurable: !0,
                writable: !0
            }) : e[t] = n, e
        }
        var IO = (AO(PO = {}, "DOES_MATCH", Object(Ke.a)("does match")), AO(PO, "DOES_NOT_MATCH", Object(Ke.a)("does not match")), AO(PO, "STARTS_WITH", Object(Ke.a)("starts with")), AO(PO, "ENDS_WITH", Object(Ke.a)("ends with")), AO(PO, "CONTAINS", Object(Ke.a)("contains")), AO(PO, "EQUALS", Object(Ke.a)("equals")), AO(PO, "IS_NULL", Object(Ke.a)("is null")), PO),
            LO = n("./app/js/components/RegexEditor/UnitTestArea/TestDetails.css"),
            DO = n.n(LO);

        function qO(e) {
            return (qO = "function" === typeof Symbol && "symbol" === typeof Symbol.iterator ? function(e) {
                return typeof e
            } : function(e) {
                return e && "function" === typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e
            })(e)
        }

        function FO(e, t) {
            for (var n = 0; n < t.length; n++) {
                var r = t[n];
                r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(e, r.key, r)
            }
        }

        function zO(e, t) {
            return !t || "object" !== qO(t) && "function" !== typeof t ? function(e) {
                if (void 0 === e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
                return e
            }(e) : t
        }

        function GO(e) {
            return (GO = Object.setPrototypeOf ? Object.getPrototypeOf : function(e) {
                return e.__proto__ || Object.getPrototypeOf(e)
            })(e)
        }

        function BO(e, t) {
            return (BO = Object.setPrototypeOf || function(e, t) {
                return e.__proto__ = t, e
            })(e, t)
        }
        var UO = function(e) {
            function t() {
                return function(e, t) {
                    if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function")
                }(this, t), zO(this, GO(t).apply(this, arguments))
            }
            var n, r, i;
            return function(e, t) {
                if ("function" !== typeof t && null !== t) throw new TypeError("Super expression must either be null or a function");
                e.prototype = Object.create(t && t.prototype, {
                    constructor: {
                        value: e,
                        writable: !0,
                        configurable: !0
                    }
                }), t && BO(e, t)
            }(t, o["PureComponent"]), n = t, (r = [{
                key: "onDetailClick",
                value: function(e) {
                    e.stopPropagation()
                }
            }, {
                key: "_explainString",
                value: function(e) {
                    return null === e ? a.a.createElement("em", null, "null") : "" === e ? a.a.createElement("em", null, Object(Ke.a)("empty string")) : e
                }
            }, {
                key: "render",
                value: function() {
                    var e = this.props.test;
                    return a.a.createElement("div", {
                        className: DO.a.details,
                        onClick: this.onDetailClick
                    }, a.a.createElement("div", {
                        className: DO.a.detailsTable
                    }, a.a.createElement("div", {
                        className: DO.a.tableText
                    }, Object(Ke.a)("given the string")), a.a.createElement("div", {
                        className: DO.a.testString
                    }, this._explainString(e.testString)), a.a.createElement("div", {
                        className: DO.a.tableText
                    }, Object(Ke.a)("assert that")), a.a.createElement("div", {
                        className: DO.a.target
                    }, MO(e.target)), a.a.createElement("div", {
                        className: DO.a.criteria
                    }, IO[e.criteria]), null != e.compareString && a.a.createElement("div", {
                        className: DO.a.compareString
                    }, this._explainString(e.compareString))), !!e.error && a.a.createElement("div", {
                        className: DO.a.error
                    }, a.a.createElement("strong", null, e.error)))
                }
            }]) && FO(n.prototype, r), i && FO(n, i), t
        }();
        UO.propTypes = {
            test: He.a.object.isRequired
        };
        var HO, WO, VO, KO = UO,
            $O = n("./app/js/components/RegexEditor/UnitTestArea/TestListItem.css"),
            YO = n.n($O);

        function JO(e) {
            return (JO = "function" === typeof Symbol && "symbol" === typeof Symbol.iterator ? function(e) {
                return typeof e
            } : function(e) {
                return e && "function" === typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e
            })(e)
        }

        function QO(e, t) {
            for (var n = 0; n < t.length; n++) {
                var r = t[n];
                r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(e, r.key, r)
            }
        }

        function XO(e, t) {
            return !t || "object" !== JO(t) && "function" !== typeof t ? function(e) {
                if (void 0 === e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
                return e
            }(e) : t
        }

        function ZO(e) {
            return (ZO = Object.setPrototypeOf ? Object.getPrototypeOf : function(e) {
                return e.__proto__ || Object.getPrototypeOf(e)
            })(e)
        }

        function ej(e, t) {
            return (ej = Object.setPrototypeOf || function(e, t) {
                return e.__proto__ = t, e
            })(e, t)
        }
        var tj, nj, rj, oj, aj = Object(We.b)(function(e) {
                return {
                    tests: e.unitTests.tests,
                    testsRunning: e.unitTests.testsRunning
                }
            })((VO = WO = function(e) {
                function t() {
                    return function(e, t) {
                        if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function")
                    }(this, t), XO(this, ZO(t).apply(this, arguments))
                }
                var n, r, i;
                return function(e, t) {
                    if ("function" !== typeof t && null !== t) throw new TypeError("Super expression must either be null or a function");
                    e.prototype = Object.create(t && t.prototype, {
                        constructor: {
                            value: e,
                            writable: !0,
                            configurable: !0
                        }
                    }), t && ej(e, t)
                }(t, o["PureComponent"]), n = t, (r = [{
                    key: "_singleLineify",
                    value: function(e) {
                        return e.replace(/\n/g, "").replace(/\s+/g, " ")
                    }
                }, {
                    key: "render",
                    value: function() {
                        var e = this.props,
                            t = e.test,
                            n = e.viewDetails,
                            r = e.lastItem,
                            o = e.firstItem,
                            i = e.testsRunning,
                            s = e.onDeleteClick,
                            c = e.onEditClick,
                            u = e.onMoveUpClick,
                            l = e.onMoveDownClick,
                            p = e.onUnitTestClick,
                            f = null != t.time || null != t.steps;
                        return a.a.createElement("div", {
                            className: Je()(YO.a.testRowParent, t.error && YO.a.fail, !1 === t.hasError && YO.a.pass)
                        }, a.a.createElement("div", {
                            className: YO.a.header
                        }, a.a.createElement("div", {
                            className: Je()(YO.a.testRow, n && YO.a.activeTest),
                            onClick: p
                        }, a.a.createElement($e.i, {
                            className: YO.a.caret,
                            icon: n ? "down-dir" : "right-dir"
                        }), a.a.createElement("div", {
                            className: YO.a.body
                        }, a.a.createElement("div", {
                            className: YO.a.description
                        }, t.description || this._singleLineify(t.testString) || Object(Ke.a)("Unspecified unit test")), a.a.createElement("div", {
                            className: YO.a.metaData
                        }, Object(Ke.a)("Target"), ":", " ", a.a.createElement("span", {
                            className: YO.a.metadataDetails
                        }, MO(t.target)), ", ", Object(Ke.a)("Criteria"), ":", " ", a.a.createElement("span", {
                            className: YO.a.metadataDetails
                        }, IO[t.criteria]), f && " - ", null != t.steps && a.a.createElement("span", null, t.steps, " ", 1 === t.steps ? Object(Ke.a)("step") : Object(Ke.a)("steps")), f && " (~".concat(t.time, "ms)")))), a.a.createElement("div", {
                            className: YO.a.tools
                        }, a.a.createElement($e.v, {
                            text: Object(Ke.a)("Move down"),
                            direction: Ot.b.N,
                            className: Je()(YO.a.icon, YO.a.move, (r || o && r || i) && YO.a.disabled),
                            onClick: l
                        }, a.a.createElement($e.i, {
                            icon: "down-dir"
                        })), a.a.createElement($e.v, {
                            text: Object(Ke.a)("Move up"),
                            direction: Ot.b.N,
                            className: Je()(YO.a.icon, YO.a.move, (o || i) && YO.a.disabled),
                            onClick: u
                        }, a.a.createElement($e.i, {
                            icon: "up-dir"
                        })), a.a.createElement($e.v, {
                            text: Object(Ke.a)("Edit test"),
                            direction: Ot.b.N,
                            className: Je()(YO.a.icon, YO.a.edit, i && YO.a.disabled),
                            onClick: c
                        }, a.a.createElement($e.i, {
                            icon: "edit"
                        })), a.a.createElement($e.v, {
                            text: Object(Ke.a)("Delete"),
                            direction: Ot.b.NW,
                            className: Je()(YO.a.icon, YO.a.delete, i && YO.a.disabled),
                            onClick: s
                        }, a.a.createElement($e.i, {
                            icon: "trash"
                        })))), n && a.a.createElement(KO, {
                            test: t
                        }))
                    }
                }]) && QO(n.prototype, r), i && QO(n, i), t
            }(), WO.propTypes = {
                viewDetails: He.a.bool,
                test: He.a.object.isRequired,
                onDeleteClick: He.a.func.isRequired,
                onEditClick: He.a.func.isRequired,
                onMoveUpClick: He.a.func.isRequired,
                onMoveDownClick: He.a.func.isRequired,
                onUnitTestClick: He.a.func.isRequired,
                testsRunning: He.a.bool.isRequired,
                lastItem: He.a.bool.isRequired,
                firstItem: He.a.bool.isRequired
            }, HO = VO)) || HO,
            ij = n("./app/js/components/RegexEditor/UnitTestArea/TestList.css"),
            sj = n.n(ij);

        function cj(e) {
            return (cj = "function" === typeof Symbol && "symbol" === typeof Symbol.iterator ? function(e) {
                return typeof e
            } : function(e) {
                return e && "function" === typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e
            })(e)
        }

        function uj(e, t) {
            for (var n = 0; n < t.length; n++) {
                var r = t[n];
                r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(e, r.key, r)
            }
        }

        function lj(e, t) {
            return !t || "object" !== cj(t) && "function" !== typeof t ? function(e) {
                if (void 0 === e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
                return e
            }(e) : t
        }

        function pj(e) {
            return (pj = Object.setPrototypeOf ? Object.getPrototypeOf : function(e) {
                return e.__proto__ || Object.getPrototypeOf(e)
            })(e)
        }

        function fj(e, t) {
            return (fj = Object.setPrototypeOf || function(e, t) {
                return e.__proto__ = t, e
            })(e, t)
        }

        function yj(e, t, n, r, o) {
            var a = {};
            return Object.keys(r).forEach(function(e) {
                a[e] = r[e]
            }), a.enumerable = !!a.enumerable, a.configurable = !!a.configurable, ("value" in a || a.initializer) && (a.writable = !0), a = n.slice().reverse().reduce(function(n, r) {
                return r(e, t, n) || n
            }, a), o && void 0 !== a.initializer && (a.value = a.initializer ? a.initializer.call(o) : void 0, a.initializer = void 0), void 0 === a.initializer && (Object.defineProperty(e, t, a), a = null), a
        }
        var bj = Object(We.b)(function(e) {
            return {
                tests: e.unitTests.tests,
                testsRunning: e.unitTests.testsRunning
            }
        })((oj = rj = function(e) {
            function t() {
                var e, n;
                ! function(e, t) {
                    if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function")
                }(this, t);
                for (var r = arguments.length, o = new Array(r), a = 0; a < r; a++) o[a] = arguments[a];
                return (n = lj(this, (e = pj(t)).call.apply(e, [this].concat(o)))).state = {
                    viewDetails: []
                }, n
            }
            var n, r, s;
            return function(e, t) {
                if ("function" !== typeof t && null !== t) throw new TypeError("Super expression must either be null or a function");
                e.prototype = Object.create(t && t.prototype, {
                    constructor: {
                        value: e,
                        writable: !0,
                        configurable: !0
                    }
                }), t && fj(e, t)
            }(t, o["Component"]), n = t, (r = [{
                key: "componentDidMount",
                value: function() {
                    _t.a.on({
                        "testlist:open_all": this.onOpenAllTests,
                        "testlist:close_all": this.onCloseAllTests
                    })
                }
            }, {
                key: "componentWillUnmount",
                value: function() {
                    _t.a.off({
                        "testlist:open_all": this.onOpenAllTests,
                        "testlist:close_all": this.onCloseAllTests
                    })
                }
            }, {
                key: "_removeActiveState",
                value: function(e) {
                    this.setState({
                        viewDetails: this.state.viewDetails.filter(function(t) {
                            return t !== e
                        })
                    })
                }
            }, {
                key: "onOpenAllTests",
                value: function() {
                    this.setState({
                        viewDetails: N.a.range(0, this.props.tests.length)
                    })
                }
            }, {
                key: "onCloseAllTests",
                value: function() {
                    this.setState({
                        viewDetails: []
                    })
                }
            }, {
                key: "onDeleteClick",
                value: function(e, t) {
                    e.stopPropagation(), this._removeActiveState(t), this.props.dispatch(Object(ne.d)(t))
                }
            }, {
                key: "onEditClick",
                value: function(e, t, n) {
                    e.stopPropagation(), Object(i.findDOMNode)(this).parentNode.scrollTop = 0, this.props.dispatch(Object(ne.V)(t, n))
                }
            }, {
                key: "onMoveUpClick",
                value: function(e, t) {
                    e.stopPropagation(), this._removeActiveState(t), this.props.dispatch(Object(ne.p)(t, t - 1))
                }
            }, {
                key: "onMoveDownClick",
                value: function(e, t) {
                    e.stopPropagation(), this._removeActiveState(t), this.props.dispatch(Object(ne.p)(t, t + 1))
                }
            }, {
                key: "onUnitTestClick",
                value: function(e) {
                    if (-1 === this.state.viewDetails.indexOf(e)) {
                        var t = this.state.viewDetails.slice();
                        t.push(e), this.setState({
                            viewDetails: t
                        })
                    } else this._removeActiveState(e)
                }
            }, {
                key: "render",
                value: function() {
                    return a.a.createElement(Ff, {
                        className: sj.a.root
                    }, this._renderTestList())
                }
            }, {
                key: "_renderTestList",
                value: function() {
                    var e = this,
                        t = this.props,
                        n = t.tests,
                        r = t.testsRunning;
                    return N.a.isEmpty(n) ? a.a.createElement($e.o, null, Object(Ke.a)("There are no unit tests yet; add some!")) : n.map(function(t, o) {
                        return a.a.createElement(aj, {
                            key: "unit-test-list-".concat(o),
                            viewDetails: -1 !== e.state.viewDetails.indexOf(o),
                            onDeleteClick: function(n) {
                                return e.onDeleteClick(n, o, t)
                            },
                            onEditClick: function(n) {
                                return e.onEditClick(n, o, t)
                            },
                            onMoveUpClick: function(t) {
                                return e.onMoveUpClick(t, o)
                            },
                            onMoveDownClick: function(t) {
                                return e.onMoveDownClick(t, o)
                            },
                            onUnitTestClick: function() {
                                return e.onUnitTestClick(o)
                            },
                            testsRunning: r,
                            lastItem: o === n.length - 1,
                            firstItem: 0 === o,
                            test: t
                        })
                    })
                }
            }]) && uj(n.prototype, r), s && uj(n, s), t
        }(), rj.propTypes = {
            dispatch: He.a.func.isRequired,
            tests: He.a.array.isRequired,
            testsRunning: He.a.bool.isRequired
        }, yj((nj = oj).prototype, "onOpenAllTests", [vt.a], Object.getOwnPropertyDescriptor(nj.prototype, "onOpenAllTests"), nj.prototype), yj(nj.prototype, "onCloseAllTests", [vt.a], Object.getOwnPropertyDescriptor(nj.prototype, "onCloseAllTests"), nj.prototype), yj(nj.prototype, "onDeleteClick", [vt.a], Object.getOwnPropertyDescriptor(nj.prototype, "onDeleteClick"), nj.prototype), yj(nj.prototype, "onEditClick", [vt.a], Object.getOwnPropertyDescriptor(nj.prototype, "onEditClick"), nj.prototype), yj(nj.prototype, "onMoveUpClick", [vt.a], Object.getOwnPropertyDescriptor(nj.prototype, "onMoveUpClick"), nj.prototype), yj(nj.prototype, "onMoveDownClick", [vt.a], Object.getOwnPropertyDescriptor(nj.prototype, "onMoveDownClick"), nj.prototype), yj(nj.prototype, "onUnitTestClick", [vt.a], Object.getOwnPropertyDescriptor(nj.prototype, "onUnitTestClick"), nj.prototype), tj = nj)) || tj;
        var hj, dj, mj, gj, vj = n("./app/js/constants/TabIndex.js"),
            _j = n("./app/js/components/Modal/AddUnitTestModal/AddUnitTestModal.css"),
            Oj = n.n(_j);

        function jj(e) {
            return (jj = "function" === typeof Symbol && "symbol" === typeof Symbol.iterator ? function(e) {
                return typeof e
            } : function(e) {
                return e && "function" === typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e
            })(e)
        }

        function wj(e, t) {
            for (var n = 0; n < t.length; n++) {
                var r = t[n];
                r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(e, r.key, r)
            }
        }

        function kj(e, t) {
            return !t || "object" !== jj(t) && "function" !== typeof t ? function(e) {
                if (void 0 === e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
                return e
            }(e) : t
        }

        function Ej(e) {
            return (Ej = Object.setPrototypeOf ? Object.getPrototypeOf : function(e) {
                return e.__proto__ || Object.getPrototypeOf(e)
            })(e)
        }

        function Sj(e, t) {
            return (Sj = Object.setPrototypeOf || function(e, t) {
                return e.__proto__ = t, e
            })(e, t)
        }

        function xj(e, t, n, r, o) {
            var a = {};
            return Object.keys(r).forEach(function(e) {
                a[e] = r[e]
            }), a.enumerable = !!a.enumerable, a.configurable = !!a.configurable, ("value" in a || a.initializer) && (a.writable = !0), a = n.slice().reverse().reduce(function(n, r) {
                return r(e, t, n) || n
            }, a), o && void 0 !== a.initializer && (a.value = a.initializer ? a.initializer.call(o) : void 0, a.initializer = void 0), void 0 === a.initializer && (Object.defineProperty(e, t, a), a = null), a
        }
        var Cj = Object(We.b)(function(e) {
                return {
                    editTest: e.unitTests.editTest,
                    testsRunning: e.unitTests.testsRunning,
                    flavor: e.regexEditor.flavor
                }
            })((gj = mj = function(e) {
                function t() {
                    var e, n;
                    ! function(e, t) {
                        if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function")
                    }(this, t);
                    for (var r = arguments.length, o = new Array(r), a = 0; a < r; a++) o[a] = arguments[a];
                    return (n = kj(this, (e = Ej(t)).call.apply(e, [this].concat(o)))).state = {}, n._isMounted = !1, n
                }
                var n, r, i;
                return function(e, t) {
                    if ("function" !== typeof t && null !== t) throw new TypeError("Super expression must either be null or a function");
                    e.prototype = Object.create(t && t.prototype, {
                        constructor: {
                            value: e,
                            writable: !0,
                            configurable: !0
                        }
                    }), t && Sj(e, t)
                }(t, o["Component"]), n = t, (r = [{
                    key: "componentWillReceiveProps",
                    value: function(e) {
                        !this.props.isOpen && e.isOpen ? (this._isMounted = !0, -1 !== e.editTest.id ? this.setState({
                            description: e.editTest.test.description,
                            criteria: e.editTest.test.criteria,
                            testString: e.editTest.test.testString,
                            target: e.editTest.test.target,
                            compareString: e.editTest.test.compareString,
                            isEditing: !0,
                            runningTest: !1,
                            testResult: null
                        }) : this.setState({
                            description: "",
                            criteria: "DOES_MATCH",
                            testString: "",
                            target: NO,
                            compareString: "",
                            isEditing: !1,
                            runningTest: !1,
                            testResult: null
                        })) : this._isMounted = !1
                    }
                }, {
                    key: "_getCriteria",
                    value: function() {
                        var e;
                        return this.state.target === NO ? e = ["DOES_MATCH", "DOES_NOT_MATCH"] : (e = ["STARTS_WITH", "ENDS_WITH", "CONTAINS", "EQUALS"], this.props.flavor !== _.a.GOLANG && "0" !== this.state.target && e.push("IS_NULL")), e.map(function(e) {
                            return {
                                value: e,
                                text: IO[e]
                            }
                        })
                    }
                }, {
                    key: "_getDefaultCriteria",
                    value: function(e) {
                        return e === NO ? "DOES_MATCH" : "STARTS_WITH"
                    }
                }, {
                    key: "_getGroupOptions",
                    value: function() {
                        var e = [{
                            value: NO,
                            text: MO(NO)
                        }, {
                            value: 0,
                            text: MO(0)
                        }];
                        return N.a.times(Zb.a.captureGroupCount, function(t) {
                            -1 === Zb.a.definedSubpatterns.indexOf(t) && e.push({
                                value: t + 1,
                                text: MO(t + 1)
                            })
                        }), e
                    }
                }, {
                    key: "onAddTestClick",
                    value: function() {
                        var e = this.state,
                            t = e.description,
                            n = e.testString,
                            r = e.target,
                            o = e.criteria,
                            a = e.compareString,
                            i = {
                                description: t,
                                criteria: o,
                                testString: n,
                                target: r
                            };
                        r !== NO && (i = N.a.extend(i, {
                            compareString: a
                        })), this.props.dispatch(Object(ne.a)(i)), this.props.onModalClose()
                    }
                }, {
                    key: "onEditTestClick",
                    value: function() {
                        this.props.dispatch(Object(ne.e)(this.props.editTest.id, N.a.omit(this.state, ["isEditing"]))), this.props.onModalClose()
                    }
                }, {
                    key: "onCriteriaChange",
                    value: function(e) {
                        this.setState({
                            criteria: e,
                            compareString: "IS_NULL" === e ? null : this.state.compareString || "",
                            testResult: null
                        })
                    }
                }, {
                    key: "onModalClose",
                    value: function() {
                        this.state.runningTest || (this.props.dispatch(Object(ne.b)()), this.props.onModalClose())
                    }
                }, {
                    key: "onRunTestClick",
                    value: function() {
                        var e = this;
                        this.setState({
                            runningTest: !0,
                            testResult: null
                        }), this.props.runUnitTest(this.state, function(t) {
                            e._isMounted && e.setState({
                                runningTest: !1,
                                testResult: t || !0
                            })
                        })
                    }
                }, {
                    key: "render",
                    value: function() {
                        var e = this.state,
                            t = e.testResult,
                            n = e.isEditing,
                            r = e.runningTest;
                        return a.a.createElement(qo, {
                            onModalClose: this.onModalClose,
                            isOpen: this.props.isOpen
                        }, a.a.createElement(Ho, {
                            titleIcon: "pencil"
                        }, Object(Ke.a)("{1} unit test", n ? Object(Ke.a)("Edit") : Object(Ke.a)("Add"))), this._renderContents(), null != t && a.a.createElement("div", {
                            className: Je()(Oj.a.testResult, !0 === t && Oj.a.pass, !0 !== t && Oj.a.fail)
                        }, !0 === t ? Object(Ke.a)("Test passed") : t), a.a.createElement(aa, null, a.a.createElement($e.a, {
                            text: Object(Ke.a)("Run test"),
                            onClick: this.onRunTestClick,
                            className: Oj.a.saveBtn,
                            disabled: r || null !== t
                        }), a.a.createElement($e.a, {
                            text: Object(Ke.a)("Save"),
                            onClick: n ? this.onEditTestClick : this.onAddTestClick,
                            className: Oj.a.saveBtn
                        }), a.a.createElement($e.a, {
                            text: Object(Ke.a)("Cancel"),
                            onClick: this.onModalClose,
                            type: Ot.e.CANCEL
                        })))
                    }
                }, {
                    key: "_renderContents",
                    value: function() {
                        var e = this,
                            t = this.state,
                            n = t.description,
                            r = t.criteria,
                            o = t.testString,
                            i = t.target,
                            s = t.compareString;
                        return a.a.createElement(Jo, null, a.a.createElement("div", {
                            className: Oj.a.container
                        }, a.a.createElement($e.k, {
                            text: Object(Ke.a)("Description")
                        }), a.a.createElement($e.u, {
                            type: "text",
                            placeholder: Object(Ke.a)("insert test description"),
                            className: Oj.a.textInput,
                            value: n,
                            onChange: function(t) {
                                return e.setState({
                                    testResult: null,
                                    description: t
                                })
                            },
                            tabIndex: vj.g
                        })), a.a.createElement("div", {
                            className: Oj.a.container
                        }, a.a.createElement($e.k, {
                            text: Object(Ke.a)("Test String")
                        }), a.a.createElement($e.u, {
                            multiline: !0,
                            className: Je()(Oj.a.textInput, Oj.a.resizable),
                            placeholder: Object(Ke.a)("insert test string"),
                            value: o,
                            onChange: function(t) {
                                return e.setState({
                                    testResult: null,
                                    testString: t
                                })
                            },
                            tabIndex: vj.h
                        })), a.a.createElement("div", {
                            className: Oj.a.container
                        }, a.a.createElement($e.k, {
                            text: Object(Ke.a)("Target")
                        }), a.a.createElement($e.q, {
                            className: Je()(Oj.a.groupSelect, Oj.a.select),
                            value: i,
                            onChange: function(t) {
                                return e.setState({
                                    testResult: null,
                                    target: t,
                                    criteria: e._getDefaultCriteria(t)
                                })
                            },
                            tabIndex: vj.i,
                            options: this._getGroupOptions()
                        }), a.a.createElement($e.o, null, Object(Ke.a)("The target specifies what it is you want to test. This determines in turn which assertions are possible"))), a.a.createElement("div", {
                            className: Oj.a.container
                        }, a.a.createElement($e.k, {
                            text: Object(Ke.a)("Assertion")
                        }), a.a.createElement($e.q, {
                            className: Oj.a.select,
                            value: r,
                            onChange: this.onCriteriaChange,
                            tabIndex: vj.f,
                            options: this._getCriteria()
                        }), a.a.createElement($e.o, null, Object(Ke.a)("The assertion determines how you want to validate the target."))), i !== NO && "IS_NULL" !== r && a.a.createElement("div", null, a.a.createElement($e.k, {
                            text: Object(Ke.a)("Comparison string")
                        }), a.a.createElement($e.u, {
                            multiline: !0,
                            className: Je()(Oj.a.textInput, Oj.a.resizable),
                            placeholder: Object(Ke.a)("insert comparison string"),
                            value: s || "",
                            onChange: function(t) {
                                return e.setState({
                                    testResult: null,
                                    compareString: t
                                })
                            },
                            tabIndex: vj.e
                        })))
                    }
                }]) && wj(n.prototype, r), i && wj(n, i), t
            }(), mj.propTypes = {
                dispatch: He.a.func.isRequired,
                editTest: He.a.object.isRequired,
                testsRunning: He.a.bool.isRequired,
                flavor: He.a.string.isRequired,
                isOpen: He.a.bool.isRequired,
                onModalClose: He.a.func.isRequired,
                runUnitTest: He.a.func.isRequired
            }, xj((dj = gj).prototype, "onAddTestClick", [vt.a], Object.getOwnPropertyDescriptor(dj.prototype, "onAddTestClick"), dj.prototype), xj(dj.prototype, "onEditTestClick", [vt.a], Object.getOwnPropertyDescriptor(dj.prototype, "onEditTestClick"), dj.prototype), xj(dj.prototype, "onCriteriaChange", [vt.a], Object.getOwnPropertyDescriptor(dj.prototype, "onCriteriaChange"), dj.prototype), xj(dj.prototype, "onModalClose", [vt.a], Object.getOwnPropertyDescriptor(dj.prototype, "onModalClose"), dj.prototype), xj(dj.prototype, "onRunTestClick", [vt.a], Object.getOwnPropertyDescriptor(dj.prototype, "onRunTestClick"), dj.prototype), hj = dj)) || hj,
            Pj = n("./app/js/components/RegexEditor/UnitTestArea/TestListUtils.css"),
            Tj = n.n(Pj);

        function Rj(e) {
            return (Rj = "function" === typeof Symbol && "symbol" === typeof Symbol.iterator ? function(e) {
                return typeof e
            } : function(e) {
                return e && "function" === typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e
            })(e)
        }

        function Nj(e, t) {
            for (var n = 0; n < t.length; n++) {
                var r = t[n];
                r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(e, r.key, r)
            }
        }

        function Mj(e, t) {
            return !t || "object" !== Rj(t) && "function" !== typeof t ? function(e) {
                if (void 0 === e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
                return e
            }(e) : t
        }

        function Aj(e) {
            return (Aj = Object.setPrototypeOf ? Object.getPrototypeOf : function(e) {
                return e.__proto__ || Object.getPrototypeOf(e)
            })(e)
        }

        function Ij(e, t) {
            return (Ij = Object.setPrototypeOf || function(e, t) {
                return e.__proto__ = t, e
            })(e, t)
        }
        var Lj = function(e) {
            function t() {
                return function(e, t) {
                    if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function")
                }(this, t), Mj(this, Aj(t).apply(this, arguments))
            }
            var n, r, i;
            return function(e, t) {
                if ("function" !== typeof t && null !== t) throw new TypeError("Super expression must either be null or a function");
                e.prototype = Object.create(t && t.prototype, {
                    constructor: {
                        value: e,
                        writable: !0,
                        configurable: !0
                    }
                }), t && Ij(e, t)
            }(t, o["PureComponent"]), n = t, (r = [{
                key: "onOpenAllClick",
                value: function() {
                    _t.a.emit("testlist:open_all")
                }
            }, {
                key: "onCloseAllClick",
                value: function() {
                    _t.a.emit("testlist:close_all")
                }
            }, {
                key: "render",
                value: function() {
                    return a.a.createElement("div", {
                        className: this.props.className
                    }, a.a.createElement($e.v, {
                        text: Object(Ke.a)("Expand all tests"),
                        direction: Ot.b.NE,
                        className: Tj.a.button,
                        onClick: this.onOpenAllClick
                    }, a.a.createElement($e.i, {
                        icon: "folder-open"
                    })), a.a.createElement($e.v, {
                        text: Object(Ke.a)("Collapse all tests"),
                        direction: Ot.b.NE,
                        className: Tj.a.button,
                        onClick: this.onCloseAllClick
                    }, a.a.createElement($e.i, {
                        icon: "folder"
                    })))
                }
            }]) && Nj(n.prototype, r), i && Nj(n, i), t
        }();
        Lj.propTypes = {
            className: He.a.string
        };
        var Dj, qj, Fj, zj, Gj = Lj,
            Bj = n("./app/js/components/RegexEditor/UnitTestArea/TestController.css"),
            Uj = n.n(Bj);

        function Hj(e) {
            return (Hj = "function" === typeof Symbol && "symbol" === typeof Symbol.iterator ? function(e) {
                return typeof e
            } : function(e) {
                return e && "function" === typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e
            })(e)
        }

        function Wj(e, t) {
            for (var n = 0; n < t.length; n++) {
                var r = t[n];
                r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(e, r.key, r)
            }
        }

        function Vj(e, t) {
            return !t || "object" !== Hj(t) && "function" !== typeof t ? function(e) {
                if (void 0 === e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
                return e
            }(e) : t
        }

        function Kj(e) {
            return (Kj = Object.setPrototypeOf ? Object.getPrototypeOf : function(e) {
                return e.__proto__ || Object.getPrototypeOf(e)
            })(e)
        }

        function $j(e, t) {
            return ($j = Object.setPrototypeOf || function(e, t) {
                return e.__proto__ = t, e
            })(e, t)
        }

        function Yj(e, t, n, r, o) {
            var a = {};
            return Object.keys(r).forEach(function(e) {
                a[e] = r[e]
            }), a.enumerable = !!a.enumerable, a.configurable = !!a.configurable, ("value" in a || a.initializer) && (a.writable = !0), a = n.slice().reverse().reduce(function(n, r) {
                return r(e, t, n) || n
            }, a), o && void 0 !== a.initializer && (a.value = a.initializer ? a.initializer.call(o) : void 0, a.initializer = void 0), void 0 === a.initializer && (Object.defineProperty(e, t, a), a = null), a
        }
        var Jj, Qj, Xj, Zj = Object(We.b)(function(e) {
                return {
                    tests: e.unitTests.tests,
                    flavor: e.regexEditor.flavor,
                    regex: e.regexEditor.regex,
                    flags: e.regexEditor.flags,
                    maxExecutionTime: e.settings.maxExecutionTime,
                    editTest: e.unitTests.editTest
                }
            })((zj = Fj = function(e) {
                function t() {
                    var e, n;
                    ! function(e, t) {
                        if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function")
                    }(this, t);
                    for (var r = arguments.length, o = new Array(r), a = 0; a < r; a++) o[a] = arguments[a];
                    return (n = Vj(this, (e = Kj(t)).call.apply(e, [this].concat(o))))._regexMatcher = new ih, n.state = {
                        progress: 0,
                        isRunning: !1,
                        showAddTestModal: !1
                    }, n
                }
                var n, r, i;
                return function(e, t) {
                    if ("function" !== typeof t && null !== t) throw new TypeError("Super expression must either be null or a function");
                    e.prototype = Object.create(t && t.prototype, {
                        constructor: {
                            value: e,
                            writable: !0,
                            configurable: !0
                        }
                    }), t && $j(e, t)
                }(t, o["Component"]), n = t, (r = [{
                    key: "componentWillUnmount",
                    value: function() {
                        this._regexMatcher.resetWorker()
                    }
                }, {
                    key: "componentDidUpdate",
                    value: function(e) {
                        this.props.flavor !== e.flavor && (this._cancelTesting(), this.props.dispatch(Object(ne.g)())), -1 === e.editTest.id && -1 !== this.props.editTest.id && this.setState({
                            showAddTestModal: !0
                        })
                    }
                }, {
                    key: "_cancelTesting",
                    value: function() {
                        this._regexMatcher.resetWorker(), this.setState({
                            progress: 0,
                            isRunning: !1
                        })
                    }
                }, {
                    key: "_runTests",
                    value: function() {
                        var e, t, n, r, o, a, i = this,
                            s = this.props,
                            c = s.tests,
                            u = s.regex,
                            l = s.flags,
                            p = s.dispatch;
                        e = c.length, t = function(e) {
                            return i._runTest(e.iteration(), u, l, c[e.iteration()], e)
                        }, n = function() {
                            i.setState({
                                isRunning: !1
                            }), p(Object(ne.g)())
                        }, r = 0, o = !1, (a = {
                            next: function() {
                                o || (r < e ? (r++, t(a)) : (o = !0, n()))
                            },
                            iteration: function() {
                                return r - 1
                            },
                            break: function() {
                                o = !0, n()
                            }
                        }).next()
                    }
                }, {
                    key: "_runTest",
                    value: function(e, t, n, r, o) {
                        var a = this,
                            i = this.props,
                            s = {
                                maxExecutionTime: i.maxExecutionTime,
                                flavor: i.flavor
                            };
                        this._regexMatcher.runMatch(t, n.replace(/g/g, ""), r.testString, s, function() {
                            var t = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : {},
                                n = arguments.length > 1 ? arguments[1] : void 0;
                            n ? a.props.dispatch(Object(ne.Q)(e, Object(Ke.a)("Internal engine error: {1}", n))) : a.props.dispatch(Object(ne.Q)(e, a._getTestResult(r, t.matchResult), t.steps, t.time)), a.setState({
                                progress: e + 1
                            }), o.next()
                        })
                    }
                }, {
                    key: "_runSingleTest",
                    value: function(e, t) {
                        var n = this,
                            r = this.props,
                            o = r.regex,
                            a = r.flags,
                            i = {
                                maxExecutionTime: r.maxExecutionTime,
                                flavor: r.flavor
                            };
                        this._regexMatcher.runMatch(o, a.replace(/g/g, ""), e.testString, i, function() {
                            var r = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : {},
                                o = arguments.length > 1 ? arguments[1] : void 0;
                            t(o ? Object(Ke.a)("Internal engine error: {1}", o) : n._getTestResult(e, r.matchResult))
                        })
                    }
                }, {
                    key: "_getTestResult",
                    value: function(e, t) {
                        switch (e.criteria) {
                            case "DOES_MATCH":
                                return 0 === t.length ? Object(Ke.a)("Expected regex to match, but did not.") : null;
                            case "DOES_NOT_MATCH":
                                return t.length > 0 ? Object(Ke.a)("Expected regex to not match, but did.") : null;
                            default:
                                return this._getComparisonResult(e, t[0])
                        }
                    }
                }, {
                    key: "_getComparisonResult",
                    value: function(e, t) {
                        if (!t || 0 === t.length) return Object(Ke.a)("The regex did not match the subject string.");
                        var n, r = t[e.target],
                            o = e.criteria,
                            a = e.compareString || "";
                        if ("IS_NULL" === o) return r && null != r.content ? Object(Ke.a)("Group {1} was not expected to participate in the match but did anyway", e.target) : null;
                        if (!r) return Object(Ke.a)("Group {1} no longer exists in the pattern or did not participate in the match", e.target);
                        switch (n = r.name ? "".concat(r.groupNum, " (").concat(r.name, ")") : 0 === r.groupNum ? "".concat(r.groupNum, " (").concat(Object(Ke.a)("full match"), ")") : r.groupNum, o) {
                            case "CONTAINS":
                                return null != r.content && -1 !== r.content.indexOf(a) ? null : Object(Ke.a)("Expected group {1} to contain `{2}` but did not", n, a);
                            case "EQUALS":
                                return r.content === a ? null : Object(Ke.a)("Expected group {1} to equal `{2}` but was instead `{3}`", n, a, r.content || "");
                            case "STARTS_WITH":
                                var i = null == r.content ? "" : r.content.slice(0, a.length);
                                return i === a ? null : Object(Ke.a)("Expected group {1} to start with `{2}` but was instead `{3}`", n, a, i);
                            case "ENDS_WITH":
                                var s = null == r.content ? "" : r.content.slice(-1 * a.length);
                                return s === a ? null : Object(Ke.a)("Expected group {1} to end with `{2}` but was instead `{3}`", n, a, s);
                            default:
                                throw new Error("Unknown unit test criteria '".concat(o, "'"))
                        }
                    }
                }, {
                    key: "onRunTestClick",
                    value: function() {
                        var e = this;
                        this._regexMatcher.resetWorker(), this.setState({
                            progress: 0,
                            isRunning: !0
                        }, function() {
                            e.props.dispatch(Object(ne.W)()), e._runTests()
                        })
                    }
                }, {
                    key: "onCancelClick",
                    value: function() {
                        this._cancelTesting(), this.props.dispatch(Object(ne.g)())
                    }
                }, {
                    key: "onAddTestClick",
                    value: function() {
                        this.setState({
                            showAddTestModal: !0
                        })
                    }
                }, {
                    key: "onCloseAddTest",
                    value: function() {
                        this.setState({
                            showAddTestModal: !1
                        })
                    }
                }, {
                    key: "render",
                    value: function() {
                        var e, t = this.props.tests,
                            n = this.state,
                            r = n.progress,
                            o = n.isRunning,
                            i = n.showAddTestModal;
                        return e = t.length > 0 ? (t.length - r) / t.length * 100 : 100, a.a.createElement("div", {
                            className: Uj.a.root
                        }, a.a.createElement("div", {
                            className: Uj.a.buttons
                        }, a.a.createElement(Gj, {
                            className: Uj.a.left
                        }), a.a.createElement("div", {
                            className: Uj.a.right
                        }, !o && a.a.createElement($e.a, {
                            text: Object(Ke.a)("Run tests"),
                            disabled: 0 === t.length,
                            onClick: this.onRunTestClick
                        }), o && a.a.createElement($e.a, {
                            type: Ot.e.DANGER,
                            text: Object(Ke.a)("Cancel"),
                            onClick: this.onCancelClick
                        }), a.a.createElement($e.a, {
                            text: "Add test",
                            onClick: this.onAddTestClick,
                            className: Uj.a.addTest
                        }))), a.a.createElement("div", {
                            className: Uj.a.progress,
                            style: {
                                right: "".concat(e, "%")
                            }
                        }), a.a.createElement(Cj, {
                            isOpen: i,
                            onModalClose: this.onCloseAddTest,
                            runUnitTest: this._runSingleTest
                        }))
                    }
                }]) && Wj(n.prototype, r), i && Wj(n, i), t
            }(), Fj.propTypes = {
                dispatch: He.a.func.isRequired,
                tests: He.a.array.isRequired,
                flavor: He.a.string.isRequired,
                regex: He.a.string.isRequired,
                flags: He.a.string.isRequired,
                maxExecutionTime: He.a.number.isRequired,
                editTest: He.a.object.isRequired
            }, Yj((qj = zj).prototype, "_runSingleTest", [vt.a], Object.getOwnPropertyDescriptor(qj.prototype, "_runSingleTest"), qj.prototype), Yj(qj.prototype, "onRunTestClick", [vt.a], Object.getOwnPropertyDescriptor(qj.prototype, "onRunTestClick"), qj.prototype), Yj(qj.prototype, "onCancelClick", [vt.a], Object.getOwnPropertyDescriptor(qj.prototype, "onCancelClick"), qj.prototype), Yj(qj.prototype, "onAddTestClick", [vt.a], Object.getOwnPropertyDescriptor(qj.prototype, "onAddTestClick"), qj.prototype), Yj(qj.prototype, "onCloseAddTest", [vt.a], Object.getOwnPropertyDescriptor(qj.prototype, "onCloseAddTest"), qj.prototype), Dj = qj)) || Dj,
            ew = n("./app/js/components/RegexEditor/UnitTestArea/UnitTestArea.css"),
            tw = n.n(ew);

        function nw(e) {
            return (nw = "function" === typeof Symbol && "symbol" === typeof Symbol.iterator ? function(e) {
                return typeof e
            } : function(e) {
                return e && "function" === typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e
            })(e)
        }

        function rw(e, t) {
            for (var n = 0; n < t.length; n++) {
                var r = t[n];
                r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(e, r.key, r)
            }
        }

        function ow(e, t) {
            return !t || "object" !== nw(t) && "function" !== typeof t ? function(e) {
                if (void 0 === e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
                return e
            }(e) : t
        }

        function aw(e) {
            return (aw = Object.setPrototypeOf ? Object.getPrototypeOf : function(e) {
                return e.__proto__ || Object.getPrototypeOf(e)
            })(e)
        }

        function iw(e, t) {
            return (iw = Object.setPrototypeOf || function(e, t) {
                return e.__proto__ = t, e
            })(e, t)
        }
        var sw = Object(We.b)()((Xj = Qj = function(e) {
                function t() {
                    return function(e, t) {
                        if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function")
                    }(this, t), ow(this, aw(t).apply(this, arguments))
                }
                var n, r, i;
                return function(e, t) {
                    if ("function" !== typeof t && null !== t) throw new TypeError("Super expression must either be null or a function");
                    e.prototype = Object.create(t && t.prototype, {
                        constructor: {
                            value: e,
                            writable: !0,
                            configurable: !0
                        }
                    }), t && iw(e, t)
                }(t, o["Component"]), n = t, (r = [{
                    key: "render",
                    value: function() {
                        return a.a.createElement("div", {
                            className: tw.a.root
                        }, a.a.createElement($e.k, {
                            className: tw.a.label,
                            text: Object(Ke.a)("Unit Tests")
                        }), a.a.createElement("div", {
                            className: tw.a.testingArea
                        }, a.a.createElement(bj, null), a.a.createElement(Zj, null)))
                    }
                }]) && rw(n.prototype, r), i && rw(n, i), t
            }(), Qj.propTypes = {
                dispatch: He.a.func.isRequired
            }, Jj = Xj)) || Jj,
            cw = n("./app/js/components/Menu/Menus/DelimiterMenu.css"),
            uw = n.n(cw);

        function lw(e) {
            return (lw = "function" === typeof Symbol && "symbol" === typeof Symbol.iterator ? function(e) {
                return typeof e
            } : function(e) {
                return e && "function" === typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e
            })(e)
        }

        function pw() {
            return (pw = Object.assign || function(e) {
                for (var t = 1; t < arguments.length; t++) {
                    var n = arguments[t];
                    for (var r in n) Object.prototype.hasOwnProperty.call(n, r) && (e[r] = n[r])
                }
                return e
            }).apply(this, arguments)
        }

        function fw(e, t) {
            if (null == e) return {};
            var n, r, o = function(e, t) {
                if (null == e) return {};
                var n, r, o = {},
                    a = Object.keys(e);
                for (r = 0; r < a.length; r++) n = a[r], t.indexOf(n) >= 0 || (o[n] = e[n]);
                return o
            }(e, t);
            if (Object.getOwnPropertySymbols) {
                var a = Object.getOwnPropertySymbols(e);
                for (r = 0; r < a.length; r++) n = a[r], t.indexOf(n) >= 0 || Object.prototype.propertyIsEnumerable.call(e, n) && (o[n] = e[n])
            }
            return o
        }

        function yw(e, t) {
            for (var n = 0; n < t.length; n++) {
                var r = t[n];
                r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(e, r.key, r)
            }
        }

        function bw(e, t) {
            return !t || "object" !== lw(t) && "function" !== typeof t ? function(e) {
                if (void 0 === e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
                return e
            }(e) : t
        }

        function hw(e) {
            return (hw = Object.setPrototypeOf ? Object.getPrototypeOf : function(e) {
                return e.__proto__ || Object.getPrototypeOf(e)
            })(e)
        }

        function dw(e, t) {
            return (dw = Object.setPrototypeOf || function(e, t) {
                return e.__proto__ = t, e
            })(e, t)
        }
        var mw = function(e) {
            function t() {
                return function(e, t) {
                    if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function")
                }(this, t), bw(this, hw(t).apply(this, arguments))
            }
            var n, r, i;
            return function(e, t) {
                if ("function" !== typeof t && null !== t) throw new TypeError("Super expression must either be null or a function");
                e.prototype = Object.create(t && t.prototype, {
                    constructor: {
                        value: e,
                        writable: !0,
                        configurable: !0
                    }
                }), t && dw(e, t)
            }(t, o["PureComponent"]), n = t, (r = [{
                key: "onDelimiterClick",
                value: function(e) {
                    e !== this.props.delimiter && this.props.onChange(e)
                }
            }, {
                key: "render",
                value: function() {
                    var e = this,
                        t = this.props,
                        n = t.getMenuTarget,
                        r = t.availableDelimiters,
                        o = t.delimiter,
                        i = fw(t, ["getMenuTarget", "availableDelimiters", "delimiter"]),
                        s = N.a.omit(i, ["onChange"]);
                    return a.a.createElement(Xi, pw({
                        target: n(),
                        closeOnClick: !0
                    }, s), a.a.createElement(gs, {
                        text: Object(Ke.a)("Delimiters")
                    }), a.a.createElement(Ss, null), r.map(function(t) {
                        return a.a.createElement(us, {
                            key: "delimiter-".concat(t),
                            isActive: t === o,
                            onClick: function() {
                                return e.onDelimiterClick(t)
                            },
                            className: uw.a.monospace
                        }, t)
                    }))
                }
            }]) && yw(n.prototype, r), i && yw(n, i), t
        }();
        mw.propTypes = {
            delimiter: He.a.string.isRequired,
            onMenuClose: He.a.func.isRequired,
            isOpen: He.a.bool.isRequired,
            getMenuTarget: He.a.func.isRequired,
            availableDelimiters: He.a.array.isRequired,
            onChange: He.a.func.isRequired
        };
        var gw, vw, _w, Ow = mw,
            jw = n("./app/js/components/RegexEditor/RegexArea/DelimiterSelector.css"),
            ww = n.n(jw);

        function kw(e) {
            return (kw = "function" === typeof Symbol && "symbol" === typeof Symbol.iterator ? function(e) {
                return typeof e
            } : function(e) {
                return e && "function" === typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e
            })(e)
        }

        function Ew(e, t) {
            for (var n = 0; n < t.length; n++) {
                var r = t[n];
                r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(e, r.key, r)
            }
        }

        function Sw(e, t) {
            return !t || "object" !== kw(t) && "function" !== typeof t ? function(e) {
                if (void 0 === e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
                return e
            }(e) : t
        }

        function xw(e) {
            return (xw = Object.setPrototypeOf ? Object.getPrototypeOf : function(e) {
                return e.__proto__ || Object.getPrototypeOf(e)
            })(e)
        }

        function Cw(e, t) {
            return (Cw = Object.setPrototypeOf || function(e, t) {
                return e.__proto__ = t, e
            })(e, t)
        }

        function Pw(e, t, n, r, o) {
            var a = {};
            return Object.keys(r).forEach(function(e) {
                a[e] = r[e]
            }), a.enumerable = !!a.enumerable, a.configurable = !!a.configurable, ("value" in a || a.initializer) && (a.writable = !0), a = n.slice().reverse().reduce(function(n, r) {
                return r(e, t, n) || n
            }, a), o && void 0 !== a.initializer && (a.value = a.initializer ? a.initializer.call(o) : void 0, a.initializer = void 0), void 0 === a.initializer && (Object.defineProperty(e, t, a), a = null), a
        }
        var Tw = (_w = vw = function(e) {
            function t() {
                var e, n;
                ! function(e, t) {
                    if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function")
                }(this, t);
                for (var r = arguments.length, o = new Array(r), a = 0; a < r; a++) o[a] = arguments[a];
                return (n = Sw(this, (e = xw(t)).call.apply(e, [this].concat(o)))).state = {
                    showMenu: !1
                }, n
            }
            var n, r, i;
            return function(e, t) {
                if ("function" !== typeof t && null !== t) throw new TypeError("Super expression must either be null or a function");
                e.prototype = Object.create(t && t.prototype, {
                    constructor: {
                        value: e,
                        writable: !0,
                        configurable: !0
                    }
                }), t && Cw(e, t)
            }(t, o["PureComponent"]), n = t, (r = [{
                key: "onMenuClick",
                value: function(e) {
                    this.setState({
                        showMenu: !0
                    })
                }
            }, {
                key: "onMenuClose",
                value: function() {
                    this.setState({
                        showMenu: !1
                    })
                }
            }, {
                key: "getMenuTarget",
                value: function() {
                    return this.refs.menuButton
                }
            }, {
                key: "render",
                value: function() {
                    var e = this.props,
                        t = e.flavor,
                        n = e.delimiter,
                        r = e.availableDelimiters,
                        o = e.onChange;
                    return a.a.createElement("div", {
                        className: Je()(ww.a.root, r.length < 2 && ww.a.unClickableDelimiter),
                        onClick: this.onMenuClick,
                        ref: "menuButton"
                    }, a.a.createElement($e.v, {
                        direction: Ot.b.NE,
                        text: Object(Ke.a)("Change delimiter"),
                        className: ww.a.centered
                    }, a.a.createElement($e.i, {
                        className: ww.a.delimiterSelector,
                        icon: "ellipsis-vert"
                    }), t === _.a.PYTHON && "r", n), a.a.createElement(Ow, {
                        availableDelimiters: r,
                        delimiter: n,
                        isOpen: this.state.showMenu,
                        getMenuTarget: this.getMenuTarget,
                        onMenuClose: this.onMenuClose,
                        options: {
                            attachment: "top left",
                            targetAttachment: "top left"
                        },
                        onChange: o
                    }))
                }
            }]) && Ew(n.prototype, r), i && Ew(n, i), t
        }(), vw.propTypes = {
            delimiter: He.a.string.isRequired,
            availableDelimiters: He.a.array.isRequired,
            flavor: He.a.string.isRequired,
            onChange: He.a.func.isRequired
        }, Pw((gw = _w).prototype, "onMenuClick", [vt.a], Object.getOwnPropertyDescriptor(gw.prototype, "onMenuClick"), gw.prototype), Pw(gw.prototype, "onMenuClose", [vt.a], Object.getOwnPropertyDescriptor(gw.prototype, "onMenuClose"), gw.prototype), Pw(gw.prototype, "getMenuTarget", [vt.a], Object.getOwnPropertyDescriptor(gw.prototype, "getMenuTarget"), gw.prototype), gw);
        var Rw, Nw, Mw, Aw = n("./app/js/components/Menu/Menus/FlagsMenu.css"),
            Iw = n.n(Aw);

        function Lw(e) {
            return (Lw = "function" === typeof Symbol && "symbol" === typeof Symbol.iterator ? function(e) {
                return typeof e
            } : function(e) {
                return e && "function" === typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e
            })(e)
        }

        function Dw() {
            return (Dw = Object.assign || function(e) {
                for (var t = 1; t < arguments.length; t++) {
                    var n = arguments[t];
                    for (var r in n) Object.prototype.hasOwnProperty.call(n, r) && (e[r] = n[r])
                }
                return e
            }).apply(this, arguments)
        }

        function qw(e, t) {
            if (null == e) return {};
            var n, r, o = function(e, t) {
                if (null == e) return {};
                var n, r, o = {},
                    a = Object.keys(e);
                for (r = 0; r < a.length; r++) n = a[r], t.indexOf(n) >= 0 || (o[n] = e[n]);
                return o
            }(e, t);
            if (Object.getOwnPropertySymbols) {
                var a = Object.getOwnPropertySymbols(e);
                for (r = 0; r < a.length; r++) n = a[r], t.indexOf(n) >= 0 || Object.prototype.propertyIsEnumerable.call(e, n) && (o[n] = e[n])
            }
            return o
        }

        function Fw(e, t) {
            for (var n = 0; n < t.length; n++) {
                var r = t[n];
                r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(e, r.key, r)
            }
        }

        function zw(e, t) {
            return !t || "object" !== Lw(t) && "function" !== typeof t ? function(e) {
                if (void 0 === e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
                return e
            }(e) : t
        }

        function Gw(e) {
            return (Gw = Object.setPrototypeOf ? Object.getPrototypeOf : function(e) {
                return e.__proto__ || Object.getPrototypeOf(e)
            })(e)
        }

        function Bw(e, t) {
            return (Bw = Object.setPrototypeOf || function(e, t) {
                return e.__proto__ = t, e
            })(e, t)
        }

        function Uw(e, t, n, r, o) {
            var a = {};
            return Object.keys(r).forEach(function(e) {
                a[e] = r[e]
            }), a.enumerable = !!a.enumerable, a.configurable = !!a.configurable, ("value" in a || a.initializer) && (a.writable = !0), a = n.slice().reverse().reduce(function(n, r) {
                return r(e, t, n) || n
            }, a), o && void 0 !== a.initializer && (a.value = a.initializer ? a.initializer.call(o) : void 0, a.initializer = void 0), void 0 === a.initializer && (Object.defineProperty(e, t, a), a = null), a
        }
        var Hw, Ww, Vw, Kw = (Mw = Nw = function(e) {
                function t() {
                    return function(e, t) {
                        if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function")
                    }(this, t), zw(this, Gw(t).apply(this, arguments))
                }
                var n, r, i;
                return function(e, t) {
                    if ("function" !== typeof t && null !== t) throw new TypeError("Super expression must either be null or a function");
                    e.prototype = Object.create(t && t.prototype, {
                        constructor: {
                            value: e,
                            writable: !0,
                            configurable: !0
                        }
                    }), t && Bw(e, t)
                }(t, o["PureComponent"]), n = t, (r = [{
                    key: "componentDidMount",
                    value: function() {
                        this.props.isOpen && this._openMenu()
                    }
                }, {
                    key: "componentDidUpdate",
                    value: function(e) {
                        !e.isOpen && this.props.isOpen ? this._openMenu() : e.isOpen && !this.props.isOpen && this._closeMenu()
                    }
                }, {
                    key: "_openMenu",
                    value: function() {
                        window.addEventListener("keydown", this.onKeyDown), window.addEventListener("keypress", this.onKeyPress)
                    }
                }, {
                    key: "_closeMenu",
                    value: function() {
                        window.removeEventListener("keydown", this.onKeyDown), window.removeEventListener("keypress", this.onKeyPress)
                    }
                }, {
                    key: "onKeyPress",
                    value: function(e) {
                        if (!e.ctrlKey && !e.altKey && !e.metaKey) {
                            var t = e.which || e.keyCode || e.charCode,
                                n = e.char || e.key || String.fromCharCode(t);
                            1 === n.length && (e.preventDefault(), this.onFlagClick(e, n, -1 === this.props.flags.indexOf(n)))
                        }
                    }
                }, {
                    key: "onKeyDown",
                    value: function(e) {
                        9 === (e.which || e.keyCode || e.charCode) && this.props.onMenuClose()
                    }
                }, {
                    key: "onFlagClick",
                    value: function(e, t, n) {
                        e.stopPropagation();
                        var r = this.props,
                            o = r.flags,
                            a = r.onChange,
                            i = o;
                        n ? i += t : i = i.replace(t, ""), a(i)
                    }
                }, {
                    key: "render",
                    value: function() {
                        var e = this,
                            t = this.props,
                            n = t.getMenuTarget,
                            r = t.flavor,
                            o = t.flags,
                            i = qw(t, ["getMenuTarget", "flavor", "flags"]),
                            c = ke.a[r].split("");
                        return a.a.createElement(Xi, Dw({
                            target: n()
                        }, i), a.a.createElement(gs, {
                            text: Object(Ke.a)("Regex Flags")
                        }), a.a.createElement(Ss, null), c.map(function(t) {
                            var n = -1 !== o.indexOf(t);
                            return a.a.createElement(us, {
                                key: "flag-".concat(t),
                                isActive: n,
                                onClick: function(r) {
                                    return e.onFlagClick(r, t, !n)
                                }
                            }, function(e, t) {
                                switch (e) {
                                    case "g":
                                        return a.a.createElement("div", {
                                            className: t
                                        }, a.a.createElement("strong", null, "g"), "lobal", a.a.createElement("div", null, Object(Ke.a)("Don't return after first match")));
                                    case "i":
                                        return a.a.createElement("div", {
                                            className: t
                                        }, a.a.createElement("strong", null, "i"), "nsensitive", a.a.createElement("div", null, Object(Ke.a)("Case insensitive match")));
                                    case "m":
                                        return a.a.createElement("div", {
                                            className: t
                                        }, a.a.createElement("strong", null, "m"), "ulti line", a.a.createElement("div", null, Object(Ke.a)("^ and $ match start/end of line")));
                                    case "s":
                                        return a.a.createElement("div", {
                                            className: t
                                        }, a.a.createElement("strong", null, "s"), "ingle line", a.a.createElement("div", null, Object(Ke.a)("Dot matches newline")));
                                    case "S":
                                        return null;
                                    case "x":
                                        return a.a.createElement("div", {
                                            className: t
                                        }, "e", a.a.createElement("strong", null, "x"), "tended", a.a.createElement("div", null, Object(Ke.a)("Ignore whitespace")));
                                    case "J":
                                        return a.a.createElement("div", {
                                            className: t
                                        }, a.a.createElement("strong", null, "J"), "changed", a.a.createElement("div", null, Object(Ke.a)("Allow duplicate subpattern names")));
                                    case "u":
                                        return a.a.createElement("div", {
                                            className: t
                                        }, a.a.createElement("strong", null, "u"), "nicode", a.a.createElement("div", null, Object(Ke.a)("Match with full unicode")));
                                    case "U":
                                        return a.a.createElement("div", {
                                            className: t
                                        }, a.a.createElement("strong", null, "U"), "ngreedy", a.a.createElement("div", null, Object(Ke.a)("Make quantifiers lazy")));
                                    case "X":
                                        return a.a.createElement("div", {
                                            className: t
                                        }, "e", a.a.createElement("strong", null, "X"), "tra", a.a.createElement("div", null, Object(Ke.a)("Disallow meaningless escapes")));
                                    case "A":
                                        return a.a.createElement("div", {
                                            className: t
                                        }, a.a.createElement("strong", null, "A"), "nchored", a.a.createElement("div", null, Object(Ke.a)("Anchor to start of pattern")));
                                    case "D":
                                        return a.a.createElement("div", {
                                            className: t
                                        }, a.a.createElement("strong", null, "D"), "ollar end only", a.a.createElement("div", null, Object(Ke.a)("$ matches only end of pattern")));
                                    case "a":
                                        return a.a.createElement("div", {
                                            className: t
                                        }, a.a.createElement("strong", null, "a"), "scii", a.a.createElement("div", null, Object(Ke.a)("Make escape sequences perform ASCII-only matching")));
                                    case "y":
                                        return a.a.createElement("div", {
                                            className: t
                                        }, "stick", a.a.createElement("strong", null, "y"), a.a.createElement("div", null, Object(Ke.a)("Proceed matching from where previous match ended only")));
                                    default:
                                        return s.a.error(new Error("Unknown flag '".concat(e, "'"))), null
                                }
                            }(t, Iw.a.flagItem))
                        }))
                    }
                }]) && Fw(n.prototype, r), i && Fw(n, i), t
            }(), Nw.propTypes = {
                flavor: He.a.string.isRequired,
                flags: He.a.string.isRequired,
                onMenuClose: He.a.func.isRequired,
                isOpen: He.a.bool.isRequired,
                getMenuTarget: He.a.func.isRequired,
                onChange: He.a.func.isRequired
            }, Uw((Rw = Mw).prototype, "onKeyPress", [vt.a], Object.getOwnPropertyDescriptor(Rw.prototype, "onKeyPress"), Rw.prototype), Uw(Rw.prototype, "onKeyDown", [vt.a], Object.getOwnPropertyDescriptor(Rw.prototype, "onKeyDown"), Rw.prototype), Uw(Rw.prototype, "onFlagClick", [vt.a], Object.getOwnPropertyDescriptor(Rw.prototype, "onFlagClick"), Rw.prototype), Rw),
            $w = n("./app/js/components/RegexEditor/RegexArea/OptionsContainer.css"),
            Yw = n.n($w);

        function Jw(e) {
            return (Jw = "function" === typeof Symbol && "symbol" === typeof Symbol.iterator ? function(e) {
                return typeof e
            } : function(e) {
                return e && "function" === typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e
            })(e)
        }

        function Qw(e, t) {
            for (var n = 0; n < t.length; n++) {
                var r = t[n];
                r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(e, r.key, r)
            }
        }

        function Xw(e, t) {
            return !t || "object" !== Jw(t) && "function" !== typeof t ? function(e) {
                if (void 0 === e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
                return e
            }(e) : t
        }

        function Zw(e) {
            return (Zw = Object.setPrototypeOf ? Object.getPrototypeOf : function(e) {
                return e.__proto__ || Object.getPrototypeOf(e)
            })(e)
        }

        function ek(e, t) {
            return (ek = Object.setPrototypeOf || function(e, t) {
                return e.__proto__ = t, e
            })(e, t)
        }

        function tk(e, t, n, r, o) {
            var a = {};
            return Object.keys(r).forEach(function(e) {
                a[e] = r[e]
            }), a.enumerable = !!a.enumerable, a.configurable = !!a.configurable, ("value" in a || a.initializer) && (a.writable = !0), a = n.slice().reverse().reduce(function(n, r) {
                return r(e, t, n) || n
            }, a), o && void 0 !== a.initializer && (a.value = a.initializer ? a.initializer.call(o) : void 0, a.initializer = void 0), void 0 === a.initializer && (Object.defineProperty(e, t, a), a = null), a
        }
        var nk, rk, ok, ak, ik = (Vw = Ww = function(e) {
                function t() {
                    var e, n;
                    ! function(e, t) {
                        if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function")
                    }(this, t);
                    for (var r = arguments.length, o = new Array(r), a = 0; a < r; a++) o[a] = arguments[a];
                    return (n = Xw(this, (e = Zw(t)).call.apply(e, [this].concat(o)))).state = {
                        showMenu: !1
                    }, n
                }
                var n, r, i;
                return function(e, t) {
                    if ("function" !== typeof t && null !== t) throw new TypeError("Super expression must either be null or a function");
                    e.prototype = Object.create(t && t.prototype, {
                        constructor: {
                            value: e,
                            writable: !0,
                            configurable: !0
                        }
                    }), t && ek(e, t)
                }(t, o["PureComponent"]), n = t, (r = [{
                    key: "onMenuClick",
                    value: function(e) {
                        this.setState({
                            showMenu: !0
                        })
                    }
                }, {
                    key: "onMenuClose",
                    value: function() {
                        this.setState({
                            showMenu: !1
                        })
                    }
                }, {
                    key: "getMenuTarget",
                    value: function() {
                        return this.refs.menuButton
                    }
                }, {
                    key: "render",
                    value: function() {
                        var e = this.props,
                            t = e.flags,
                            n = e.delimiter,
                            r = e.flavor,
                            o = e.onChange;
                        return a.a.createElement("div", {
                            className: Yw.a.root,
                            onClick: this.onMenuClick,
                            onFocus: this.onMenuClick,
                            tabIndex: vj.a,
                            ref: "menuButton"
                        }, a.a.createElement($e.v, {
                            direction: Ot.b.NW,
                            text: Object(Ke.a)("Set Regex Options"),
                            className: Yw.a.centered
                        }, a.a.createElement("div", {
                            className: Yw.a.delimiter
                        }, n), a.a.createElement("div", {
                            className: Yw.a.options
                        }, t), a.a.createElement($e.i, {
                            className: Yw.a.flagBtn,
                            icon: "flag"
                        })), a.a.createElement(Kw, {
                            flags: t,
                            flavor: r,
                            isOpen: this.state.showMenu,
                            getMenuTarget: this.getMenuTarget,
                            onMenuClose: this.onMenuClose,
                            options: {
                                attachment: "top left",
                                targetAttachment: "top left"
                            },
                            onChange: o
                        }))
                    }
                }]) && Qw(n.prototype, r), i && Qw(n, i), t
            }(), Ww.propTypes = {
                flags: He.a.string.isRequired,
                delimiter: He.a.string.isRequired,
                flavor: He.a.string.isRequired,
                onChange: He.a.func.isRequired
            }, tk((Hw = Vw).prototype, "onMenuClick", [vt.a], Object.getOwnPropertyDescriptor(Hw.prototype, "onMenuClick"), Hw.prototype), tk(Hw.prototype, "onMenuClose", [vt.a], Object.getOwnPropertyDescriptor(Hw.prototype, "onMenuClose"), Hw.prototype), tk(Hw.prototype, "getMenuTarget", [vt.a], Object.getOwnPropertyDescriptor(Hw.prototype, "getMenuTarget"), Hw.prototype), Hw),
            sk = n("./app/js/utils/codemirror.js"),
            ck = n("./app/js/components/CodeMirror/CodeMirror.js"),
            uk = n("./app/js/parsers/Tokens/tokenStyles.css"),
            lk = n.n(uk),
            pk = n("./app/js/components/RegexEditor/EditorTooltip/EditorTooltip.js"),
            fk = n("./app/js/components/RegexEditor/EditorTooltip/RegexTooltipHelper.js"),
            yk = n("./app/js/components/RegexEditor/RegexArea/RegexInput.css"),
            bk = n.n(yk);

        function hk(e) {
            return (hk = "function" === typeof Symbol && "symbol" === typeof Symbol.iterator ? function(e) {
                return typeof e
            } : function(e) {
                return e && "function" === typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e
            })(e)
        }

        function dk(e, t) {
            for (var n = 0; n < t.length; n++) {
                var r = t[n];
                r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(e, r.key, r)
            }
        }

        function mk(e, t) {
            return !t || "object" !== hk(t) && "function" !== typeof t ? function(e) {
                if (void 0 === e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
                return e
            }(e) : t
        }

        function gk(e) {
            return (gk = Object.setPrototypeOf ? Object.getPrototypeOf : function(e) {
                return e.__proto__ || Object.getPrototypeOf(e)
            })(e)
        }

        function vk(e, t) {
            return (vk = Object.setPrototypeOf || function(e, t) {
                return e.__proto__ = t, e
            })(e, t)
        }

        function _k(e, t, n, r, o) {
            var a = {};
            return Object.keys(r).forEach(function(e) {
                a[e] = r[e]
            }), a.enumerable = !!a.enumerable, a.configurable = !!a.configurable, ("value" in a || a.initializer) && (a.writable = !0), a = n.slice().reverse().reduce(function(n, r) {
                return r(e, t, n) || n
            }, a), o && void 0 !== a.initializer && (a.value = a.initializer ? a.initializer.call(o) : void 0, a.initializer = void 0), void 0 === a.initializer && (Object.defineProperty(e, t, a), a = null), a
        }
        var Ok, jk, wk, kk = Object(We.b)(function(e) {
                return {
                    autoComplete: e.settings.autoComplete,
                    colorizeSyntax: e.settings.colorizeSyntax,
                    wrapLines: e.settings.wrapLines,
                    lineNumbers: e.settings.regexAreaLineNumbers,
                    editorTooltips: e.settings.editorTooltips,
                    displayWhitespace: e.settings.displayWhitespace
                }
            })((ak = ok = function(e) {
                function t() {
                    var e, n;
                    ! function(e, t) {
                        if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function")
                    }(this, t);
                    for (var r = arguments.length, o = new Array(r), i = 0; i < r; i++) o[i] = arguments[i];
                    return (n = mk(this, (e = gk(t)).call.apply(e, [this].concat(o))))._editorRef = a.a.createRef(), n._cursorTokens = [], n
                }
                var n, r, c;
                return function(e, t) {
                    if ("function" !== typeof t && null !== t) throw new TypeError("Super expression must either be null or a function");
                    e.prototype = Object.create(t && t.prototype, {
                        constructor: {
                            value: e,
                            writable: !0,
                            configurable: !0
                        }
                    }), t && vk(e, t)
                }(t, o["Component"]), n = t, (r = [{
                    key: "componentDidMount",
                    value: function() {
                        this._codeMirror = this._editorRef.current.getInstance(), this._tooltipHelper = new fk.a(this._tooltip, this._codeMirror), this._codeMirror.on("paste", this.onRegexPaste), this._parent = Object(i.findDOMNode)(this).parentNode.parentNode, this._parent.addEventListener("mousemove", this.onMouseMove, !0), this._updateEditor()
                    }
                }, {
                    key: "componentWillUnmount",
                    value: function() {
                        this._codeMirror.off("paste", this.onRegexPaste), this._parent.removeEventListener("mousemove", this.onMouseMove, !0), this._tooltipHelper.destroy(), this._tooltipHelper = null, this._codeMirror = null, this._parent = null, this._cursorTokens = null
                    }
                }, {
                    key: "componentDidUpdate",
                    value: function(e) {
                        var t = this.props,
                            n = t.flags,
                            r = t.flavor,
                            o = t.delimiter,
                            a = t.colorizeSyntax;
                        e.flags === n && e.flavor === r && e.delimiter === o && e.colorizeSyntax === a || this._updateEditor()
                    }
                }, {
                    key: "onFocusChange",
                    value: function(e) {
                        e ? this._highlightTokenAtCursor() : this._clearTokenHighlight(), this.props.onFocusChange(e)
                    }
                }, {
                    key: "onBlur",
                    value: function() {
                        this._clearTokenHighlight()
                    }
                }, {
                    key: "onRegexPaste",
                    value: function(e, t) {
                        if (!this._codeMirror.getValue() || this._codeMirror.getValue() === this._codeMirror.getSelection()) {
                            var n = "";
                            window.clipboardData && window.clipboardData.getData ? n = window.clipboardData.getData("Text") : t.clipboardData && t.clipboardData.getData ? n = t.clipboardData.getData("text/plain") : s.a.warn("User pasted data but could not retrieve it");
                            var r = j.a[this.props.flavor],
                                o = new RegExp("^\\s*(m?)(".concat(r.join("|"), ")([\\s\\S]+)\\2()([a-zA-Z]*)\\s*$")),
                                a = new RegExp("^\\s*(s)(".concat(r.join("|"), ")((?:\\\\.|(?!\\2)[\\s\\S])+)\\2((?:\\\\.|(?!\\2)[\\s\\S])*)\\2([a-zA-Z]*)$")),
                                i = n.match(o) || n.match(a);
                            if (null != i) {
                                var c = i[1],
                                    u = i[2],
                                    l = i[3],
                                    p = i[4],
                                    f = i[5];
                                t.preventDefault(), t.stopPropagation(), this._codeMirror.setValue(l);
                                var y = {
                                    delimiter: u,
                                    flags: f,
                                    regex: l,
                                    isSub: "s" === c,
                                    substText: p
                                };
                                this.props.onPaste(y)
                            }
                        }
                    }
                }, {
                    key: "onRegexInput",
                    value: function() {
                        this._updateEditor()
                    }
                }, {
                    key: "onMouseMove",
                    value: function(e) {
                        var t = this.props,
                            n = t.editorTooltips,
                            r = t.parser;
                        if (n) {
                            var o = this._editorRef.current.getCharIndexAt(e.clientX, e.clientY + window.pageYOffset),
                                a = r.getTokenAtPos(o);
                            this._tooltipHelper.selectToken(a);
                            var i = this._editorRef.current.getCharRect(o);
                            i && this._tooltipHelper.setPosition(e.clientX, i.top)
                        }
                    }
                }, {
                    key: "onCursorMove",
                    value: function(e) {
                        var t = this;
                        N.a.defer(function() {
                            var n = t.props.parser.getTokenAtPos(e);
                            t._highlightMatchingToken(n)
                        })
                    }
                }, {
                    key: "_updateEditor",
                    value: function() {
                        if (this._tooltipHelper) {
                            this._tooltipHelper.hide();
                            var e = this._codeMirror.getValue(),
                                t = this.props,
                                n = t.onInput,
                                r = t.flavor,
                                o = t.flags,
                                a = t.delimiter,
                                i = t.colorizeSyntax,
                                s = t.parser;
                            s.parse(e, {
                                flags: o,
                                delimiter: a,
                                editor: this._codeMirror,
                                flavor: r
                            }), i ? s.paint(this._codeMirror) : s.clearPaint(this._codeMirror), n(e), this._highlightTokenAtCursor()
                        }
                    }
                }, {
                    key: "_highlightTokenAtCursor",
                    value: function() {
                        var e = this._codeMirror.indexFromPos(this._codeMirror.getCursor()),
                            t = this.props.parser.getTokenAtPos(e);
                        this._highlightMatchingToken(t)
                    }
                }, {
                    key: "_clearTokenHighlight",
                    value: function() {
                        var e = this;
                        null != this._codeMirror && this._codeMirror.operation(function() {
                            e._cursorTokens.forEach(function(e) {
                                return e.clear()
                            }), e._cursorTokens = []
                        })
                    }
                }, {
                    key: "_highlightMatchingToken",
                    value: function(e) {
                        var t = this,
                            n = e ? e.relatedTokens : [];
                        n.length > 0 ? this._codeMirror.operation(function() {
                            t._cursorTokens.forEach(function(e) {
                                return e.clear()
                            }), t._cursorTokens = [], n.forEach(function(e) {
                                var n = sk.a.Pos(e.editorPosition.start.line, e.editorPosition.start.pos),
                                    r = sk.a.Pos(e.editorPosition.end.line, e.editorPosition.end.pos);
                                t._cursorTokens.push(t._codeMirror.markText(n, r, {
                                    className: lk.a.cursorover
                                }))
                            })
                        }) : this._clearTokenHighlight()
                    }
                }, {
                    key: "_getCodemirrorOptions",
                    value: function() {
                        var e = this.props,
                            t = e.lineNumbers,
                            n = e.autoComplete,
                            r = e.wrapLines,
                            o = e.displayWhitespace,
                            a = e.onEnterClick;
                        return {
                            lineNumbers: t,
                            mode: null,
                            autofocus: !0,
                            placeholder: Object(Ke.a)("insert your regular expression here"),
                            tabSize: 4,
                            lineWrapping: r,
                            tabindex: vj.b,
                            extraKeys: {
                                Tab: !1,
                                Enter: a || !1
                            },
                            autoCloseBrackets: n,
                            showWhitespace: o
                        }
                    }
                }, {
                    key: "render",
                    value: function() {
                        var e = this;
                        return a.a.createElement("div", {
                            className: bk.a.root,
                            onBlur: this.onBlur
                        }, a.a.createElement(ck.a, {
                            ref: this._editorRef,
                            onChange: this.onRegexInput,
                            onFocusChange: this.onFocusChange,
                            options: this._getCodemirrorOptions(),
                            defaultValue: this.props.regex,
                            onCursorMove: this.onCursorMove
                        }), a.a.createElement(pk.a, {
                            ref: function(t) {
                                e._tooltip = t
                            }
                        }))
                    }
                }]) && dk(n.prototype, r), c && dk(n, c), t
            }(), ok.propTypes = {
                onFocusChange: He.a.func.isRequired,
                regex: He.a.string,
                flags: He.a.string,
                flavor: He.a.oneOf(_.a.all).isRequired,
                delimiter: He.a.string.isRequired,
                colorizeSyntax: He.a.bool.isRequired,
                autoComplete: He.a.bool.isRequired,
                wrapLines: He.a.bool.isRequired,
                lineNumbers: He.a.bool.isRequired,
                editorTooltips: He.a.bool.isRequired,
                displayWhitespace: He.a.bool.isRequired,
                parser: He.a.object.isRequired,
                onPaste: He.a.func.isRequired,
                onInput: He.a.func.isRequired,
                onEnterClick: He.a.func
            }, _k((rk = ak).prototype, "onFocusChange", [vt.a], Object.getOwnPropertyDescriptor(rk.prototype, "onFocusChange"), rk.prototype), _k(rk.prototype, "onBlur", [vt.a], Object.getOwnPropertyDescriptor(rk.prototype, "onBlur"), rk.prototype), _k(rk.prototype, "onRegexPaste", [vt.a], Object.getOwnPropertyDescriptor(rk.prototype, "onRegexPaste"), rk.prototype), _k(rk.prototype, "onRegexInput", [vt.a], Object.getOwnPropertyDescriptor(rk.prototype, "onRegexInput"), rk.prototype), _k(rk.prototype, "onMouseMove", [vt.a], Object.getOwnPropertyDescriptor(rk.prototype, "onMouseMove"), rk.prototype), _k(rk.prototype, "onCursorMove", [vt.a], Object.getOwnPropertyDescriptor(rk.prototype, "onCursorMove"), rk.prototype), _k(rk.prototype, "_highlightTokenAtCursor", [vt.a], Object.getOwnPropertyDescriptor(rk.prototype, "_highlightTokenAtCursor"), rk.prototype), _k(rk.prototype, "_clearTokenHighlight", [vt.a], Object.getOwnPropertyDescriptor(rk.prototype, "_clearTokenHighlight"), rk.prototype), nk = rk)) || nk,
            Ek = n("./app/js/components/RegexEditor/RegexArea/RegexArea.css"),
            Sk = n.n(Ek);

        function xk(e) {
            return (xk = "function" === typeof Symbol && "symbol" === typeof Symbol.iterator ? function(e) {
                return typeof e
            } : function(e) {
                return e && "function" === typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e
            })(e)
        }

        function Ck(e, t) {
            for (var n = 0; n < t.length; n++) {
                var r = t[n];
                r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(e, r.key, r)
            }
        }

        function Pk(e, t) {
            return !t || "object" !== xk(t) && "function" !== typeof t ? function(e) {
                if (void 0 === e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
                return e
            }(e) : t
        }

        function Tk(e) {
            return (Tk = Object.setPrototypeOf ? Object.getPrototypeOf : function(e) {
                return e.__proto__ || Object.getPrototypeOf(e)
            })(e)
        }

        function Rk(e, t) {
            return (Rk = Object.setPrototypeOf || function(e, t) {
                return e.__proto__ = t, e
            })(e, t)
        }
        var Nk = (wk = jk = function(e) {
                function t() {
                    var e, n;
                    ! function(e, t) {
                        if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function")
                    }(this, t);
                    for (var r = arguments.length, o = new Array(r), a = 0; a < r; a++) o[a] = arguments[a];
                    return (n = Pk(this, (e = Tk(t)).call.apply(e, [this].concat(o)))).state = {
                        editorFocused: !1
                    }, n
                }
                var n, r, i;
                return function(e, t) {
                    if ("function" !== typeof t && null !== t) throw new TypeError("Super expression must either be null or a function");
                    e.prototype = Object.create(t && t.prototype, {
                        constructor: {
                            value: e,
                            writable: !0,
                            configurable: !0
                        }
                    }), t && Rk(e, t)
                }(t, o["Component"]), n = t, (r = [{
                    key: "onFocusChange",
                    value: function(e) {
                        this.setState({
                            editorFocused: e
                        })
                    }
                }, {
                    key: "render",
                    value: function() {
                        var e = this.props,
                            t = e.parser,
                            n = e.onRegexPaste,
                            r = e.onRegexInput,
                            o = e.onDelimiterChange,
                            i = e.onFlagsChange,
                            s = e.flags,
                            c = e.flavor,
                            u = e.delimiter,
                            l = e.regex,
                            p = e.onEnterClick;
                        return a.a.createElement("div", {
                            className: Je()(Sk.a.inputArea, this.state.editorFocused && Sk.a.editorFocused)
                        }, a.a.createElement(Tw, {
                            availableDelimiters: j.a[c],
                            delimiter: u,
                            flavor: c,
                            onChange: o
                        }), a.a.createElement(kk, {
                            flavor: c,
                            flags: s,
                            delimiter: u,
                            regex: l,
                            parser: t,
                            onFocusChange: this.onFocusChange,
                            onPaste: n,
                            onInput: r,
                            onEnterClick: p
                        }), a.a.createElement(ik, {
                            flags: s,
                            delimiter: u,
                            flavor: c,
                            onChange: i
                        }))
                    }
                }]) && Ck(n.prototype, r), i && Ck(n, i), t
            }(), jk.propTypes = {
                regex: He.a.string,
                flags: He.a.string,
                flavor: He.a.oneOf(_.a.all).isRequired,
                delimiter: He.a.string.isRequired,
                parser: He.a.object.isRequired,
                onRegexPaste: He.a.func.isRequired,
                onRegexInput: He.a.func.isRequired,
                onDelimiterChange: He.a.func.isRequired,
                onFlagsChange: He.a.func.isRequired,
                onEnterClick: He.a.func
            }, jk.defaultProps = {
                regex: "",
                flags: ""
            }, function(e, t, n, r, o) {
                var a = {};
                Object.keys(r).forEach(function(e) {
                    a[e] = r[e]
                }), a.enumerable = !!a.enumerable, a.configurable = !!a.configurable, ("value" in a || a.initializer) && (a.writable = !0), a = n.slice().reverse().reduce(function(n, r) {
                    return r(e, t, n) || n
                }, a), o && void 0 !== a.initializer && (a.value = a.initializer ? a.initializer.call(o) : void 0, a.initializer = void 0), void 0 === a.initializer && (Object.defineProperty(e, t, a), a = null)
            }((Ok = wk).prototype, "onFocusChange", [vt.a], Object.getOwnPropertyDescriptor(Ok.prototype, "onFocusChange"), Ok.prototype), Ok),
            Mk = n("./app/js/components/RegexEditor/MatchIndicator/MatchIndicator.css"),
            Ak = n.n(Mk);

        function Ik(e) {
            return (Ik = "function" === typeof Symbol && "symbol" === typeof Symbol.iterator ? function(e) {
                return typeof e
            } : function(e) {
                return e && "function" === typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e
            })(e)
        }

        function Lk(e, t) {
            for (var n = 0; n < t.length; n++) {
                var r = t[n];
                r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(e, r.key, r)
            }
        }

        function Dk(e, t) {
            return !t || "object" !== Ik(t) && "function" !== typeof t ? function(e) {
                if (void 0 === e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
                return e
            }(e) : t
        }

        function qk(e) {
            return (qk = Object.setPrototypeOf ? Object.getPrototypeOf : function(e) {
                return e.__proto__ || Object.getPrototypeOf(e)
            })(e)
        }

        function Fk(e, t) {
            return (Fk = Object.setPrototypeOf || function(e, t) {
                return e.__proto__ = t, e
            })(e, t)
        }
        var zk = function(e) {
            function t() {
                var e, n;
                ! function(e, t) {
                    if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function")
                }(this, t);
                for (var r = arguments.length, o = new Array(r), a = 0; a < r; a++) o[a] = arguments[a];
                return (n = Dk(this, (e = qk(t)).call.apply(e, [this].concat(o)))).state = {
                    isMatching: !1
                }, n
            }
            var n, r, i;
            return function(e, t) {
                if ("function" !== typeof t && null !== t) throw new TypeError("Super expression must either be null or a function");
                e.prototype = Object.create(t && t.prototype, {
                    constructor: {
                        value: e,
                        writable: !0,
                        configurable: !0
                    }
                }), t && Fk(e, t)
            }(t, o["PureComponent"]), n = t, (r = [{
                key: "_getTimeString",
                value: function(e) {
                    return e > 999 ? +(e / 1e3).toFixed(2) + "s" : e + "ms"
                }
            }, {
                key: "render",
                value: function() {
                    var e, t, n = this.props,
                        r = n.error,
                        o = n.matchNum,
                        i = n.isMatching,
                        s = n.time,
                        c = n.steps,
                        u = n.flavor,
                        l = n.hasRegex,
                        p = !1;
                    if (r) switch (e = Ak.a.error, r) {
                            case un.a:
                                t = Object(Ke.a)("Pattern Error");
                                break;
                            case un.g:
                                t = Object(Ke.a)("Timeout"), p = !0;
                                break;
                            case un.c:
                                t = Object(Ke.a)("Catastrophic Backtracking"), p = !0;
                                break;
                            default:
                                t = Object(Ke.a)("Engine Error")
                        } else if (i) e = Ak.a.noMatch, t = Object(Ke.a)("Processing...");
                        else {
                            var f;
                            o ? (e = Ak.a.match, f = o > 1 ? Object(Ke.a)("{1} matches", o) : Object(Ke.a)("{1} match", o)) : (e = Ak.a.noMatch, f = Object(Ke.a)("No Match"), p = !0);
                            var y = "";
                            null != c && (y = ", " + (1 !== c ? Object(Ke.a)("{1} steps", c) : Object(Ke.a)("{1} step", c)));
                            var b = "";
                            null != s && (b = " (~".concat(this._getTimeString(s), ")")), t = f + y + b
                        } return p && u === _.a.PCRE && l ? a.a.createElement($e.e, {
                        className: Je()(Ak.a.root, e)
                    }, t, a.a.createElement($e.i, {
                        icon: "bug",
                        className: Ak.a.debuggerIcon
                    })) : a.a.createElement("div", {
                        className: Je()(Ak.a.root, e)
                    }, t)
                }
            }]) && Lk(n.prototype, r), i && Lk(n, i), t
        }();
        zk.propTypes = {
            matchNum: He.a.number.isRequired,
            isMatching: He.a.bool.isRequired,
            error: He.a.oneOfType([He.a.string, He.a.number]),
            time: He.a.number,
            steps: He.a.number,
            flavor: He.a.string.isRequired,
            hasRegex: He.a.bool.isRequired
        };
        var Gk, Bk, Uk, Hk = zk,
            Wk = n("./app/js/components/Menu/Menus/RegexVersionsMenu.css"),
            Vk = n.n(Wk);

        function Kk(e) {
            return (Kk = "function" === typeof Symbol && "symbol" === typeof Symbol.iterator ? function(e) {
                return typeof e
            } : function(e) {
                return e && "function" === typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e
            })(e)
        }

        function $k(e, t) {
            for (var n = 0; n < t.length; n++) {
                var r = t[n];
                r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(e, r.key, r)
            }
        }

        function Yk(e, t) {
            return !t || "object" !== Kk(t) && "function" !== typeof t ? function(e) {
                if (void 0 === e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
                return e
            }(e) : t
        }

        function Jk(e) {
            return (Jk = Object.setPrototypeOf ? Object.getPrototypeOf : function(e) {
                return e.__proto__ || Object.getPrototypeOf(e)
            })(e)
        }

        function Qk(e, t) {
            return (Qk = Object.setPrototypeOf || function(e, t) {
                return e.__proto__ = t, e
            })(e, t)
        }
        var Xk, Zk, eE, tE, nE = Object(We.b)(function(e) {
                return {
                    regexVersions: e.regexEditor.regexVersions
                }
            })(Gk = Object(vt.c)(function(e, t, n) {
                return {
                    regexVersionsFetch: n && e.permalinkFragment && Object(ne.m)(e.permalinkFragment)
                }
            })((Uk = Bk = function(e) {
                function t() {
                    return function(e, t) {
                        if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function")
                    }(this, t), Yk(this, Jk(t).apply(this, arguments))
                }
                var n, r, i;
                return function(e, t) {
                    if ("function" !== typeof t && null !== t) throw new TypeError("Super expression must either be null or a function");
                    e.prototype = Object.create(t && t.prototype, {
                        constructor: {
                            value: e,
                            writable: !0,
                            configurable: !0
                        }
                    }), t && Qk(e, t)
                }(t, o["PureComponent"]), n = t, (r = [{
                    key: "componentDidUpdate",
                    value: function(e) {
                        this.props.isOpen && !e.isOpen && this.props.fetchData()
                    }
                }, {
                    key: "render",
                    value: function() {
                        var e = this.props,
                            t = e.isOpen,
                            n = e.getMenuTarget,
                            r = e.onMenuClose;
                        return a.a.createElement(Xi, {
                            target: n(),
                            isOpen: t,
                            onMenuClose: r,
                            closeOnClick: !0
                        }, a.a.createElement(gs, {
                            text: Object(Ke.a)("Regex Versions")
                        }), a.a.createElement(Ss, null), this._renderContent())
                    }
                }, {
                    key: "_renderContent",
                    value: function() {
                        var e = this.props,
                            t = e.version,
                            n = e.regexVersionsFetch,
                            r = e.permalinkFragment,
                            o = e.regexVersions;
                        return n.fetchError ? a.a.createElement(us, {
                            disabled: !0
                        }, Object(Ke.a)("Unable to fetch versions")) : n.isFetchingData ? a.a.createElement(us, {
                            disabled: !0
                        }, Object(Ke.a)("Loading..."), a.a.createElement("div", {
                            className: Vk.a.loading
                        }, a.a.createElement($e.r, {
                            size: Ot.d.TINY,
                            className: Vk.a.spinner
                        }))) : N.a.range(0, o).map(function(e) {
                            var n = e + 1 === t;
                            return a.a.createElement(As, {
                                key: "version-".concat(e),
                                isActive: n,
                                disabled: n,
                                to: Object(sn.a)(r, e + 1),
                                absolute: !0
                            }, Object(Ke.a)("Version {1}", e + 1))
                        })
                    }
                }]) && $k(n.prototype, r), i && $k(n, i), t
            }(), Bk.propTypes = {
                permalinkFragment: He.a.string,
                version: He.a.number,
                isOpen: He.a.bool.isRequired,
                getMenuTarget: He.a.func.isRequired,
                onMenuClose: He.a.func.isRequired,
                regexVersionsFetch: He.a.object.isRequired,
                fetchData: He.a.func.isRequired,
                regexVersions: He.a.number.isRequired
            }, Gk = Uk)) || Gk) || Gk,
            rE = n("./app/js/components/RegexEditor/RegexArea/RegexAreaLabel.css"),
            oE = n.n(rE);

        function aE(e) {
            return (aE = "function" === typeof Symbol && "symbol" === typeof Symbol.iterator ? function(e) {
                return typeof e
            } : function(e) {
                return e && "function" === typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e
            })(e)
        }

        function iE(e, t) {
            for (var n = 0; n < t.length; n++) {
                var r = t[n];
                r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(e, r.key, r)
            }
        }

        function sE(e, t) {
            return !t || "object" !== aE(t) && "function" !== typeof t ? function(e) {
                if (void 0 === e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
                return e
            }(e) : t
        }

        function cE(e) {
            return (cE = Object.setPrototypeOf ? Object.getPrototypeOf : function(e) {
                return e.__proto__ || Object.getPrototypeOf(e)
            })(e)
        }

        function uE(e, t) {
            return (uE = Object.setPrototypeOf || function(e, t) {
                return e.__proto__ = t, e
            })(e, t)
        }

        function lE(e, t, n, r, o) {
            var a = {};
            return Object.keys(r).forEach(function(e) {
                a[e] = r[e]
            }), a.enumerable = !!a.enumerable, a.configurable = !!a.configurable, ("value" in a || a.initializer) && (a.writable = !0), a = n.slice().reverse().reduce(function(n, r) {
                return r(e, t, n) || n
            }, a), o && void 0 !== a.initializer && (a.value = a.initializer ? a.initializer.call(o) : void 0, a.initializer = void 0), void 0 === a.initializer && (Object.defineProperty(e, t, a), a = null), a
        }
        var pE = Object(We.b)(function(e) {
                return {
                    version: e.general.version,
                    permalinkFragment: e.general.permalinkFragment,
                    title: e.general.title
                }
            })((tE = eE = function(e) {
                function t() {
                    var e, n;
                    ! function(e, t) {
                        if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function")
                    }(this, t);
                    for (var r = arguments.length, o = new Array(r), a = 0; a < r; a++) o[a] = arguments[a];
                    return (n = sE(this, (e = cE(t)).call.apply(e, [this].concat(o)))).state = {
                        showMenu: !1
                    }, n
                }
                var n, r, i;
                return function(e, t) {
                    if ("function" !== typeof t && null !== t) throw new TypeError("Super expression must either be null or a function");
                    e.prototype = Object.create(t && t.prototype, {
                        constructor: {
                            value: e,
                            writable: !0,
                            configurable: !0
                        }
                    }), t && uE(e, t)
                }(t, o["Component"]), n = t, (r = [{
                    key: "onMenuClick",
                    value: function() {
                        this.setState({
                            showMenu: !0
                        })
                    }
                }, {
                    key: "onMenuClose",
                    value: function() {
                        this.setState({
                            showMenu: !1
                        })
                    }
                }, {
                    key: "_getMenuTarget",
                    value: function() {
                        return this.refs.menuButton
                    }
                }, {
                    key: "render",
                    value: function() {
                        var e = this.props,
                            t = e.permalinkFragment,
                            n = e.version,
                            r = e.title,
                            o = e.children;
                        return a.a.createElement("div", {
                            className: oE.a.root
                        }, a.a.createElement($e.k, {
                            text: Object(Ke.a)("Regular Expression"),
                            allowOverflow: !0
                        }, null != t && a.a.createElement($e.v, {
                            text: Object(Ke.a)("Select Regex Version"),
                            className: oE.a.tooltip,
                            ref: "menuButton"
                        }, a.a.createElement("span", {
                            className: oE.a.versionSelector,
                            onClick: this.onMenuClick
                        }, "v", n, " ", a.a.createElement($e.i, {
                            icon: "angle-down"
                        }))), a.a.createElement(nE, {
                            isOpen: this.state.showMenu,
                            onMenuClose: this.onMenuClose,
                            permalinkFragment: t,
                            version: n,
                            getMenuTarget: this._getMenuTarget
                        }), o), r && a.a.createElement($e.o, {
                            className: oE.a.title
                        }, r))
                    }
                }]) && iE(n.prototype, r), i && iE(n, i), t
            }(), eE.propTypes = {
                version: He.a.number,
                permalinkFragment: He.a.string,
                title: He.a.string,
                children: He.a.node
            }, lE((Zk = tE).prototype, "onMenuClick", [vt.a], Object.getOwnPropertyDescriptor(Zk.prototype, "onMenuClick"), Zk.prototype), lE(Zk.prototype, "onMenuClose", [vt.a], Object.getOwnPropertyDescriptor(Zk.prototype, "onMenuClose"), Zk.prototype), lE(Zk.prototype, "_getMenuTarget", [vt.a], Object.getOwnPropertyDescriptor(Zk.prototype, "_getMenuTarget"), Zk.prototype), Xk = Zk)) || Xk,
            fE = n("./node_modules/tinycolor2/tinycolor.js"),
            yE = n.n(fE);
        var bE = n("./app/js/components/RegexEditor/TestArea/TestareaTooltip.css"),
            hE = n.n(bE);

        function dE(e) {
            return (dE = "function" === typeof Symbol && "symbol" === typeof Symbol.iterator ? function(e) {
                return typeof e
            } : function(e) {
                return e && "function" === typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e
            })(e)
        }

        function mE(e, t) {
            for (var n = 0; n < t.length; n++) {
                var r = t[n];
                r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(e, r.key, r)
            }
        }

        function gE(e, t) {
            return !t || "object" !== dE(t) && "function" !== typeof t ? function(e) {
                if (void 0 === e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
                return e
            }(e) : t
        }

        function vE(e) {
            return (vE = Object.setPrototypeOf ? Object.getPrototypeOf : function(e) {
                return e.__proto__ || Object.getPrototypeOf(e)
            })(e)
        }

        function _E(e, t) {
            return (_E = Object.setPrototypeOf || function(e, t) {
                return e.__proto__ = t, e
            })(e, t)
        }
        var OE = function(e) {
            function t() {
                return function(e, t) {
                    if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function")
                }(this, t), gE(this, vE(t).apply(this, arguments))
            }
            var n, r, i;
            return function(e, t) {
                if ("function" !== typeof t && null !== t) throw new TypeError("Super expression must either be null or a function");
                e.prototype = Object.create(t && t.prototype, {
                    constructor: {
                        value: e,
                        writable: !0,
                        configurable: !0
                    }
                }), t && _E(e, t)
            }(t, o["PureComponent"]), n = t, (r = [{
                key: "render",
                value: function() {
                    var e, t = this.props,
                        n = t.matchNum,
                        r = t.group,
                        o = t.start,
                        i = t.end,
                        s = t.content;
                    return a.a.createElement("div", {
                        className: hE.a.root
                    }, a.a.createElement($e.s, {
                        tag: "div",
                        className: hE.a.match,
                        text: "Match {1}",
                        ph1: "<span>".concat(n + 1, "</span>")
                    }), a.a.createElement($e.s, {
                        tag: "div",
                        className: hE.a.group,
                        text: "group {1}: {2}",
                        ph1: "<span>".concat(r, "</span>"),
                        ph2: (e = s, function(e) {
                            return e.replace(/[\r\n]/g, "\u21b5")
                        }(N.a.escape(e)))
                    }), null != o && a.a.createElement($e.s, {
                        tag: "div",
                        text: "pos: {1}-{2}",
                        ph1: o,
                        ph2: i
                    }))
                }
            }]) && mE(n.prototype, r), i && mE(n, i), t
        }();
        OE.propTypes = {
            matchNum: He.a.number.isRequired,
            group: He.a.oneOfType([He.a.string, He.a.number]).isRequired,
            start: He.a.number,
            end: He.a.number,
            content: He.a.string.isRequired
        };
        var jE = OE,
            wE = n("./app/js/components/RegexEditor/EditorTooltip/TooltipHelper.js");

        function kE(e) {
            return (kE = "function" === typeof Symbol && "symbol" === typeof Symbol.iterator ? function(e) {
                return typeof e
            } : function(e) {
                return e && "function" === typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e
            })(e)
        }

        function EE(e, t) {
            for (var n = 0; n < t.length; n++) {
                var r = t[n];
                r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(e, r.key, r)
            }
        }

        function SE(e, t) {
            return !t || "object" !== kE(t) && "function" !== typeof t ? function(e) {
                if (void 0 === e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
                return e
            }(e) : t
        }

        function xE(e) {
            return (xE = Object.setPrototypeOf ? Object.getPrototypeOf : function(e) {
                return e.__proto__ || Object.getPrototypeOf(e)
            })(e)
        }

        function CE(e, t) {
            return (CE = Object.setPrototypeOf || function(e, t) {
                return e.__proto__ = t, e
            })(e, t)
        }
        var PE, TE, RE, NE, ME, AE, IE = function(e) {
                function t() {
                    return function(e, t) {
                        if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function")
                    }(this, t), SE(this, xE(t).apply(this, arguments))
                }
                var n, r, o;
                return function(e, t) {
                    if ("function" !== typeof t && null !== t) throw new TypeError("Super expression must either be null or a function");
                    e.prototype = Object.create(t && t.prototype, {
                        constructor: {
                            value: e,
                            writable: !0,
                            configurable: !0
                        }
                    }), t && CE(e, t)
                }(t, wE["a"]), n = t, (r = [{
                    key: "_getTooltipContent",
                    value: function(e) {
                        return a.a.createElement(jE, {
                            matchNum: e.match,
                            group: e.groupName || Zb.a.captureGroupMap[e.groupNum] || e.groupNum,
                            start: e.start,
                            end: e.end,
                            content: e.content
                        })
                    }
                }, {
                    key: "_equalTokens",
                    value: function(e, t) {
                        return e === t
                    }
                }]) && EE(n.prototype, r), o && EE(n, o), t
            }(),
            LE = n("./app/js/components/RegexEditor/TestArea/RegexCanvas.css"),
            DE = n.n(LE);

        function qE(e) {
            return (qE = "function" === typeof Symbol && "symbol" === typeof Symbol.iterator ? function(e) {
                return typeof e
            } : function(e) {
                return e && "function" === typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e
            })(e)
        }

        function FE(e, t) {
            return function(e) {
                if (Array.isArray(e)) return e
            }(e) || function(e, t) {
                var n = [],
                    r = !0,
                    o = !1,
                    a = void 0;
                try {
                    for (var i, s = e[Symbol.iterator](); !(r = (i = s.next()).done) && (n.push(i.value), !t || n.length !== t); r = !0);
                } catch (c) {
                    o = !0, a = c
                } finally {
                    try {
                        r || null == s.return || s.return()
                    } finally {
                        if (o) throw a
                    }
                }
                return n
            }(e, t) || function() {
                throw new TypeError("Invalid attempt to destructure non-iterable instance")
            }()
        }

        function zE(e, t) {
            for (var n = 0; n < t.length; n++) {
                var r = t[n];
                r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(e, r.key, r)
            }
        }

        function GE(e, t) {
            return !t || "object" !== qE(t) && "function" !== typeof t ? function(e) {
                if (void 0 === e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
                return e
            }(e) : t
        }

        function BE(e) {
            return (BE = Object.setPrototypeOf ? Object.getPrototypeOf : function(e) {
                return e.__proto__ || Object.getPrototypeOf(e)
            })(e)
        }

        function UE(e, t) {
            return (UE = Object.setPrototypeOf || function(e, t) {
                return e.__proto__ = t, e
            })(e, t)
        }

        function HE(e, t, n, r, o) {
            var a = {};
            return Object.keys(r).forEach(function(e) {
                a[e] = r[e]
            }), a.enumerable = !!a.enumerable, a.configurable = !!a.configurable, ("value" in a || a.initializer) && (a.writable = !0), a = n.slice().reverse().reduce(function(n, r) {
                return r(e, t, n) || n
            }, a), o && void 0 !== a.initializer && (a.value = a.initializer ? a.initializer.call(o) : void 0, a.initializer = void 0), void 0 === a.initializer && (Object.defineProperty(e, t, a), a = null), a
        }
        var WE, VE, KE, $E, YE = (PE = Object(We.b)(function(e) {
                return {
                    editorTooltips: e.settings.editorTooltips,
                    wrapLines: e.settings.wrapLines,
                    lineNumbers: e.settings.testAreaLineNumbers,
                    theme: e.settings.theme
                }
            }), TE = Object(vt.b)(500), PE((AE = ME = function(e) {
                function t() {
                    var e, n;
                    ! function(e, t) {
                        if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function")
                    }(this, t);
                    for (var r = arguments.length, o = new Array(r), i = 0; i < r; i++) o[i] = arguments[i];
                    return (n = GE(this, (e = BE(t)).call.apply(e, [this].concat(o))))._ref = a.a.createRef(), n._tooltipRef = a.a.createRef(), n._topSpacing = 1, n._bottomSpacing = 1, n._ignoreNextScroll = !1, n._codeMirror = null, n._parentContainer = null, n.state = {
                        hideCanvas: !1
                    }, n
                }
                var n, r, i;
                return function(e, t) {
                    if ("function" !== typeof t && null !== t) throw new TypeError("Super expression must either be null or a function");
                    e.prototype = Object.create(t && t.prototype, {
                        constructor: {
                            value: e,
                            writable: !0,
                            configurable: !0
                        }
                    }), t && UE(e, t)
                }(t, o["Component"]), n = t, (r = [{
                    key: "componentDidMount",
                    value: function() {
                        this._parentContainer = this._ref.current.parentNode, this._codeMirror = this.props.editorRef.current.getCodeMirror(), this._tooltipHelper = new IE(this._tooltipRef.current, this._codeMirror), this._codeMirror.on("scroll", this.onScroll), window.addEventListener("resize", this.onResize), _t.a.on({
                            "testarea:hideCanvas": this.onHideCanvas,
                            "testarea:showCanvas": this.onShowCanvas,
                            "matchGroup:click": this.onScrollToGroup,
                            "testarea:resize": this.onResize
                        }), this._parentContainer.addEventListener("mousemove", this.onMouseMove, {
                            passive: !0
                        }), this._parentContainer.addEventListener("mouseleave", this.onMouseLeave, {
                            passive: !0
                        }), this._setCanvasSize()
                    }
                }, {
                    key: "componentWillUnmount",
                    value: function() {
                        this._codeMirror.off("scroll", this.onScroll), window.removeEventListener("resize", this.onResize), _t.a.off({
                            "testarea:hideCanvas": this.onHideCanvas,
                            "testarea:showCanvas": this.onShowCanvas,
                            "matchGroup:click": this.onScrollToGroup,
                            "testarea:resize": this.onResize
                        }), this._parentContainer.removeEventListener("mousemove", this.onMouseMove, {
                            passive: !0
                        }), this._parentContainer.removeEventListener("mouseleave", this.onMouseLeave, {
                            passive: !0
                        }), this._showCanvasAfterResize.cancel(), this._tooltipHelper.destroy()
                    }
                }, {
                    key: "componentDidUpdate",
                    value: function() {
                        this._tooltipHelper.hide(), this._setCanvasSize(), this._drawHighlights()
                    }
                }, {
                    key: "onScrollToGroup",
                    value: function(e, t) {
                        var n = FE(this._getGroupPos(t), 1)[0],
                            r = this._codeMirror.posFromIndex(n);
                        this._ignoreNextScroll = !0, this._codeMirror.setCursor(r), this._drawHighlights();
                        var o = jg("codeMirror_highlight", this.props.theme);
                        this._highlightGroup(t, null, o)
                    }
                }, {
                    key: "onScroll",
                    value: function() {
                        this._ignoreNextScroll ? this._ignoreNextScroll = !1 : this._drawHighlights()
                    }
                }, {
                    key: "onHideCanvas",
                    value: function() {
                        this.setState({
                            hideCanvas: !0
                        })
                    }
                }, {
                    key: "onShowCanvas",
                    value: function() {
                        this.setState({
                            hideCanvas: !1
                        }), this._setCanvasSize(), this._drawHighlights()
                    }
                }, {
                    key: "onResize",
                    value: function() {
                        this.setState({
                            hideCanvas: !0
                        }), this._showCanvasAfterResize()
                    }
                }, {
                    key: "onMouseMove",
                    value: function(e) {
                        var t = this.props,
                            n = t.editorTooltips,
                            r = t.matchResult,
                            o = t.editorRef;
                        if (n) {
                            var a = o.current.getCharIndexAt(e.clientX, e.clientY + window.pageYOffset),
                                i = null;
                            if (null !== a)
                                for (var s = 0, c = r.length; s < c; s++)
                                    for (var u = r[s], l = 0, p = u.length; l < p; l++) {
                                        var f = u[l],
                                            y = FE(this._getGroupPos(f), 2),
                                            b = y[0],
                                            h = y[1];
                                        b <= a && h > a && (i = f)
                                    }
                            this._tooltipHelper.selectToken(i);
                            var d = o.current.getCharRect(a);
                            d && this._tooltipHelper.setPosition(e.clientX, d.top), this._drawHighlights(i)
                        }
                    }
                }, {
                    key: "onMouseLeave",
                    value: function() {
                        this._drawHighlights()
                    }
                }, {
                    key: "_getGroupPos",
                    value: function(e) {
                        return [Math.min(e.start, e.end), Math.max(e.start, e.end)]
                    }
                }, {
                    key: "_showCanvasAfterResize",
                    value: function() {
                        this.setState({
                            hideCanvas: !1
                        }), this._codeMirror.refresh(), this._drawHighlights()
                    }
                }, {
                    key: "_setCanvasSize",
                    value: function() {
                        var e = this._parentContainer.getBoundingClientRect(),
                            t = e.bottom - e.top - 2 * this._getEditorPadding(),
                            n = e.right - e.left - 2,
                            r = this._getEditorGutterWidth();
                        this._ref.current.style.left = "".concat(r, "px"), this._ref.current.width = n - r, this._ref.current.height = t
                    }
                }, {
                    key: "_clearCanvas",
                    value: function() {
                        this._ref.current.getContext("2d").clearRect(0, 0, this._ref.current.width, this._ref.current.height)
                    }
                }, {
                    key: "_drawHighlights",
                    value: function() {
                        var e = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : null;
                        this._clearCanvas();
                        var t = this.props.matchResult,
                            n = this._ref.current.getContext("2d");
                        this._disableImageSmoothing(n);
                        for (var r = this._codeMirror.getScrollInfo(), o = this._codeMirror.indexFromPos(this._codeMirror.coordsChar({
                                left: 0,
                                top: r.top
                            }, "local")), a = this._codeMirror.indexFromPos(this._codeMirror.coordsChar({
                                right: 0,
                                top: r.top
                            }, "local")), i = this._codeMirror.indexFromPos(this._codeMirror.coordsChar({
                                left: r.clientWidth,
                                top: r.top + r.clientHeight
                            }, "local")), s = this._codeMirror.indexFromPos(this._codeMirror.coordsChar({
                                right: r.clientWidth,
                                top: r.top + r.clientHeight
                            }, "local")), c = Math.min(o, a), u = Math.max(i, s), l = !0, p = 0, f = t.length; p < f; p++)
                            for (var y = t[p], b = 0, h = y.length; b < h; b++) {
                                var d = y[b],
                                    m = FE(this._getGroupPos(d), 2),
                                    g = m[0],
                                    v = m[1];
                                if (0 === d.groupNum && (l = !l), g > u) break;
                                if (!(v < c)) {
                                    var _ = wg(d.groupNum, this.props.theme, p % 2 !== 0);
                                    this._highlightGroup(d, r, _, e)
                                }
                            }
                    }
                }, {
                    key: "_highlightGroup",
                    value: function(e, t, n) {
                        var r = arguments.length > 3 && void 0 !== arguments[3] ? arguments[3] : null;
                        t = t || this._codeMirror.getScrollInfo();
                        var o = FE(this._getGroupPos(e), 2),
                            a = o[0],
                            i = o[1],
                            s = e._startPos || (e._startPos = this._codeMirror.posFromIndex(a)),
                            c = e._endPos || (e._endPos = this._codeMirror.posFromIndex(i > a ? i - 1 : i)),
                            u = this._ref.current.getContext("2d"),
                            l = this._codeMirror.charCoords(s, "local"),
                            p = this._codeMirror.charCoords(c, "local");
                        if (l.left >= p.left && l.top >= p.top) {
                            var f = l;
                            l = p, p = f
                        }
                        if (null != a && a === i) {
                            var y = this._getAdjustedValues(l.left, l.top, 0, l.bottom),
                                b = y.left,
                                h = y.top,
                                d = y.bottom;
                            return u.save(), u.strokeStyle = "#DC00FF", u.setLineDash([2, 3]), u.beginPath(), u.moveTo(b - t.left | 0, h - t.top | 0), u.lineTo(b - t.left | 0, d - t.top | 0), u.closePath(), u.stroke(), void u.restore()
                        }
                        var m = null != r && e === r,
                            g = this.props.theme === x ? yE()(n).darken(35) : yE()(n).lighten(35);
                        if (u.fillStyle = m ? yE()(n).brighten(10).toString() : n, u.strokeStyle = g.toString(), l.bottom === p.bottom) {
                            var v = [u, l.left, l.top, p.right, p.bottom, t.top, t.left];
                            this._drawHighlight.apply(this, v), m && this._drawBorder.apply(this, v)
                        } else {
                            var _ = t.width - this._getEditorGutterWidth(),
                                O = this._codeMirror.defaultTextHeight(),
                                j = [u, l.left, l.top, _, l.bottom, t.top, t.left, !1, !0];
                            this._drawHighlight.apply(this, j), m && this._drawBorder.apply(this, j);
                            for (var w = l.top;
                                (w += O) < p.top - 1;) {
                                var k = [u, 0, w, _, w + l.bottom - l.top, t.top, t.left, !0, !0];
                                this._drawHighlight.apply(this, k), m && this._drawBorder.apply(this, k)
                            }
                            var E = [u, 0, p.top, p.right, p.bottom, t.top, t.left, !0, !1];
                            this._drawHighlight.apply(this, E), m && this._drawBorder.apply(this, E)
                        }
                    }
                }, {
                    key: "_drawHighlight",
                    value: function(e, t, n, r, o, a, i) {
                        var s = arguments.length > 7 && void 0 !== arguments[7] && arguments[7],
                            c = arguments.length > 8 && void 0 !== arguments[8] && arguments[8];
                        if (!(r < 0 || t + 1 >= r)) {
                            var u = this._getAdjustedValues(t, n, r, o, i, a),
                                l = u.left,
                                p = u.right,
                                f = u.top,
                                y = u.bottom,
                                b = u.scrollX,
                                h = u.scrollY,
                                d = this._getEditorPadding(),
                                m = e.globalAlpha;
                            s && (e.globalAlpha = .5 * m, e.fillRect(l - d - b, f - h, d, y - f)), c && (e.globalAlpha = .5 * m, e.fillRect(p - b, f - h, d, y - f)), e.globalAlpha = m, e.fillRect(l - b, f - h, p - l - (c ? 0 : 1), y - f)
                        }
                    }
                }, {
                    key: "_drawBorder",
                    value: function(e, t, n, r, o, a, i) {
                        var s = this._getAdjustedValues(t, n, r, o, i, a),
                            c = s.left,
                            u = s.right,
                            l = s.top,
                            p = s.bottom,
                            f = s.scrollX,
                            y = s.scrollY;
                        e.beginPath(), e.moveTo(c - f, p - y), e.lineTo(u - f, p - y), e.moveTo(c - f, l - y), e.lineTo(u - f, l - y), e.moveTo(c - f, l - y), e.lineTo(c - f, p - y), e.moveTo(u - f, l - y), e.lineTo(u - f, p - y), e.closePath(), e.stroke()
                    }
                }, {
                    key: "_getAdjustedValues",
                    value: function(e, t, n, r) {
                        var o = arguments.length > 4 && void 0 !== arguments[4] ? arguments[4] : 0,
                            a = arguments.length > 5 && void 0 !== arguments[5] ? arguments[5] : 0;
                        return {
                            left: (e + .5 | 0) + this._getEditorPadding(),
                            right: (n + .5 | 0) + this._getEditorPadding(),
                            top: (t + .5 | 0) + this._topSpacing,
                            bottom: (r + .5 | 0) - this._bottomSpacing,
                            scrollX: 0 | o,
                            scrollY: 0 | a
                        }
                    }
                }, {
                    key: "_getEditorGutterWidth",
                    value: function() {
                        return this.props.lineNumbers ? this._codeMirror.display.gutters.clientWidth : 0
                    }
                }, {
                    key: "_getEditorPadding",
                    value: function() {
                        return parseFloat(wt.a.testAreaPadding, 10)
                    }
                }, {
                    key: "_disableImageSmoothing",
                    value: function(e) {
                        ["imageSmoothingEnabled", "mozImageSmoothingEnabled", "webkitImageSmoothingEnabled", "msImageSmoothingEnabled"].some(function(t) {
                            return null != e[t] && (e[t] = !1, !0)
                        })
                    }
                }, {
                    key: "render",
                    value: function() {
                        return a.a.createElement(o.Fragment, null, a.a.createElement("canvas", {
                            ref: this._ref,
                            className: Je()(DE.a.canvas, this.state.hideCanvas && DE.a.hidden)
                        }), a.a.createElement(pk.a, {
                            ref: this._tooltipRef
                        }))
                    }
                }]) && zE(n.prototype, r), i && zE(n, i), t
            }(), ME.propTypes = {
                wrapLines: He.a.bool.isRequired,
                lineNumbers: He.a.bool.isRequired,
                theme: He.a.string.isRequired,
                editorRef: He.a.object.isRequired,
                matchResult: He.a.array.isRequired,
                editorTooltips: He.a.bool.isRequired
            }, HE((NE = AE).prototype, "onScrollToGroup", [vt.a], Object.getOwnPropertyDescriptor(NE.prototype, "onScrollToGroup"), NE.prototype), HE(NE.prototype, "onScroll", [vt.a], Object.getOwnPropertyDescriptor(NE.prototype, "onScroll"), NE.prototype), HE(NE.prototype, "onHideCanvas", [vt.a], Object.getOwnPropertyDescriptor(NE.prototype, "onHideCanvas"), NE.prototype), HE(NE.prototype, "onShowCanvas", [vt.a], Object.getOwnPropertyDescriptor(NE.prototype, "onShowCanvas"), NE.prototype), HE(NE.prototype, "onResize", [vt.a], Object.getOwnPropertyDescriptor(NE.prototype, "onResize"), NE.prototype), HE(NE.prototype, "onMouseMove", [vt.a], Object.getOwnPropertyDescriptor(NE.prototype, "onMouseMove"), NE.prototype), HE(NE.prototype, "onMouseLeave", [vt.a], Object.getOwnPropertyDescriptor(NE.prototype, "onMouseLeave"), NE.prototype), HE(NE.prototype, "_showCanvasAfterResize", [TE], Object.getOwnPropertyDescriptor(NE.prototype, "_showCanvasAfterResize"), NE.prototype), HE(NE.prototype, "_setCanvasSize", [vt.a], Object.getOwnPropertyDescriptor(NE.prototype, "_setCanvasSize"), NE.prototype), HE(NE.prototype, "_highlightGroup", [vt.a], Object.getOwnPropertyDescriptor(NE.prototype, "_highlightGroup"), NE.prototype), HE(NE.prototype, "_getEditorGutterWidth", [vt.a], Object.getOwnPropertyDescriptor(NE.prototype, "_getEditorGutterWidth"), NE.prototype), RE = NE)) || RE),
            JE = function() {
                try {
                    var e = document.createElement("canvas");
                    if (!e || !e.getContext("2d") || !("setLineDash" in e.getContext("2d"))) return !1
                } catch (t) {
                    return !1
                }
                return !0
            }() ? YE : function() {
                return null
            },
            QE = n("./app/js/components/RegexEditor/TestArea/TestArea.css"),
            XE = n.n(QE);

        function ZE(e) {
            return (ZE = "function" === typeof Symbol && "symbol" === typeof Symbol.iterator ? function(e) {
                return typeof e
            } : function(e) {
                return e && "function" === typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e
            })(e)
        }

        function eS(e, t) {
            for (var n = 0; n < t.length; n++) {
                var r = t[n];
                r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(e, r.key, r)
            }
        }

        function tS(e, t) {
            return !t || "object" !== ZE(t) && "function" !== typeof t ? function(e) {
                if (void 0 === e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
                return e
            }(e) : t
        }

        function nS(e) {
            return (nS = Object.setPrototypeOf ? Object.getPrototypeOf : function(e) {
                return e.__proto__ || Object.getPrototypeOf(e)
            })(e)
        }

        function rS(e, t) {
            return (rS = Object.setPrototypeOf || function(e, t) {
                return e.__proto__ = t, e
            })(e, t)
        }

        function oS(e, t, n, r, o) {
            var a = {};
            return Object.keys(r).forEach(function(e) {
                a[e] = r[e]
            }), a.enumerable = !!a.enumerable, a.configurable = !!a.configurable, ("value" in a || a.initializer) && (a.writable = !0), a = n.slice().reverse().reduce(function(n, r) {
                return r(e, t, n) || n
            }, a), o && void 0 !== a.initializer && (a.value = a.initializer ? a.initializer.call(o) : void 0, a.initializer = void 0), void 0 === a.initializer && (Object.defineProperty(e, t, a), a = null), a
        }
        var aS, iS, sS, cS, uS, lS, pS, fS, yS, bS = Object(We.b)(function(e) {
                return {
                    showSubstitutionArea: e.regexEditor.showSubstitutionArea,
                    testString: e.regexEditor.testString,
                    wrapLines: e.settings.wrapLines,
                    lineNumbers: e.settings.testAreaLineNumbers,
                    displayWhitespace: e.settings.displayWhitespace
                }
            })(($E = KE = function(e) {
                function t() {
                    var e, n;
                    ! function(e, t) {
                        if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function")
                    }(this, t);
                    for (var r = arguments.length, o = new Array(r), i = 0; i < r; i++) o[i] = arguments[i];
                    return (n = tS(this, (e = nS(t)).call.apply(e, [this].concat(o))))._codeMirrorRef = a.a.createRef(), n.state = {
                        editorFocused: !1
                    }, n
                }
                var n, r, i;
                return function(e, t) {
                    if ("function" !== typeof t && null !== t) throw new TypeError("Super expression must either be null or a function");
                    e.prototype = Object.create(t && t.prototype, {
                        constructor: {
                            value: e,
                            writable: !0,
                            configurable: !0
                        }
                    }), t && rS(e, t)
                }(t, o["Component"]), n = t, (r = [{
                    key: "componentDidMount",
                    value: function() {
                        _t.a.on("testarea:showCanvas", this._updateCodemirror)
                    }
                }, {
                    key: "componentWillUnmount",
                    value: function() {
                        _t.a.off("testarea:showCanvas", this._updateCodemirror)
                    }
                }, {
                    key: "onTestStringInput",
                    value: function(e) {
                        this.props.onInput(e)
                    }
                }, {
                    key: "onEditorFocusChange",
                    value: function(e) {
                        this.setState({
                            editorFocused: e
                        })
                    }
                }, {
                    key: "_updateCodemirror",
                    value: function() {
                        null != this._codeMirrorRef.current && this._codeMirrorRef.current._codeMirror.refresh()
                    }
                }, {
                    key: "_getCodemirrorOptions",
                    value: function() {
                        var e = this.props,
                            t = e.lineNumbers,
                            n = e.wrapLines,
                            r = e.displayWhitespace;
                        return {
                            lineNumbers: t,
                            mode: null,
                            autofocus: !1,
                            placeholder: Object(Ke.a)("insert your test string here"),
                            tabSize: 4,
                            lineWrapping: n,
                            tabindex: vj.d,
                            extraKeys: {
                                "Shift-Tab": !1,
                                Enter: !1
                            },
                            showWhitespace: r
                        }
                    }
                }, {
                    key: "render",
                    value: function() {
                        var e = this.props,
                            t = e.showSubstitutionArea,
                            n = e.testString,
                            r = e.matchResult,
                            o = e.onInput;
                        return a.a.createElement("div", {
                            className: Je()(XE.a.root, t && XE.a.substitutionVisible)
                        }, a.a.createElement($e.k, {
                            text: Object(Ke.a)("Test String")
                        }), a.a.createElement("div", {
                            className: Je()(XE.a.inputArea, this.state.editorFocused && XE.a.editorFocused)
                        }, a.a.createElement(ck.a, {
                            ref: this._codeMirrorRef,
                            className: XE.a.input,
                            onChange: o,
                            onFocusChange: this.onEditorFocusChange,
                            options: this._getCodemirrorOptions(),
                            defaultValue: n
                        }), a.a.createElement(JE, {
                            editorRef: this._codeMirrorRef,
                            matchResult: r
                        })))
                    }
                }]) && eS(n.prototype, r), i && eS(n, i), t
            }(), KE.propTypes = {
                dispatch: He.a.func.isRequired,
                showSubstitutionArea: He.a.bool.isRequired,
                testString: He.a.string,
                wrapLines: He.a.bool.isRequired,
                lineNumbers: He.a.bool.isRequired,
                displayWhitespace: He.a.bool.isRequired,
                matchResult: He.a.array.isRequired,
                onInput: He.a.func.isRequired
            }, oS((VE = $E).prototype, "onTestStringInput", [vt.a], Object.getOwnPropertyDescriptor(VE.prototype, "onTestStringInput"), VE.prototype), oS(VE.prototype, "onEditorFocusChange", [vt.a], Object.getOwnPropertyDescriptor(VE.prototype, "onEditorFocusChange"), VE.prototype), oS(VE.prototype, "_updateCodemirror", [vt.a], Object.getOwnPropertyDescriptor(VE.prototype, "_updateCodemirror"), VE.prototype), WE = VE)) || WE,
            hS = n("./app/js/components/RegexEditor/SubstitutionArea/SubstitutionArea.js"),
            dS = n("./app/js/components/RegexEditor/RegexEditor.css"),
            mS = n.n(dS);

        function gS(e) {
            return (gS = "function" === typeof Symbol && "symbol" === typeof Symbol.iterator ? function(e) {
                return typeof e
            } : function(e) {
                return e && "function" === typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e
            })(e)
        }

        function vS(e, t) {
            for (var n = 0; n < t.length; n++) {
                var r = t[n];
                r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(e, r.key, r)
            }
        }

        function _S(e, t) {
            return !t || "object" !== gS(t) && "function" !== typeof t ? function(e) {
                if (void 0 === e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
                return e
            }(e) : t
        }

        function OS(e) {
            return (OS = Object.setPrototypeOf ? Object.getPrototypeOf : function(e) {
                return e.__proto__ || Object.getPrototypeOf(e)
            })(e)
        }

        function jS(e, t) {
            return (jS = Object.setPrototypeOf || function(e, t) {
                return e.__proto__ = t, e
            })(e, t)
        }

        function wS(e, t, n, r, o) {
            var a = {};
            return Object.keys(r).forEach(function(e) {
                a[e] = r[e]
            }), a.enumerable = !!a.enumerable, a.configurable = !!a.configurable, ("value" in a || a.initializer) && (a.writable = !0), a = n.slice().reverse().reduce(function(n, r) {
                return r(e, t, n) || n
            }, a), o && void 0 !== a.initializer && (a.value = a.initializer ? a.initializer.call(o) : void 0, a.initializer = void 0), void 0 === a.initializer && (Object.defineProperty(e, t, a), a = null), a
        }
        var kS, ES, SS, xS = (aS = Object(We.b)(function(e) {
                return {
                    regex: e.regexEditor.regex,
                    flags: e.regexEditor.flags,
                    flavor: e.regexEditor.flavor,
                    delimiter: e.regexEditor.delimiter,
                    testString: e.regexEditor.testString,
                    showUnitTestArea: e.regexEditor.showUnitTestArea,
                    maxExecutionTime: e.settings.maxExecutionTime,
                    error: e.regexEditor.error
                }
            }), iS = Object(vt.b)(Be.f), sS = Object(vt.b)(Be.f), cS = Object(vt.b)(Be.f), uS = Object(vt.b)(Be.f), Object(vt.f)(lS = aS((yS = fS = function(e) {
                function t() {
                    var e, n;
                    ! function(e, t) {
                        if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function")
                    }(this, t);
                    for (var r = arguments.length, o = new Array(r), a = 0; a < r; a++) o[a] = arguments[a];
                    return (n = _S(this, (e = OS(t)).call.apply(e, [this].concat(o))))._regexMatcher = new ih, n._regex = n.props.regex, n._testString = n.props.testString, n.state = {
                        isMatching: !1,
                        time: null,
                        steps: null,
                        matchResult: []
                    }, n
                }
                var n, r, i;
                return function(e, t) {
                    if ("function" !== typeof t && null !== t) throw new TypeError("Super expression must either be null or a function");
                    e.prototype = Object.create(t && t.prototype, {
                        constructor: {
                            value: e,
                            writable: !0,
                            configurable: !0
                        }
                    }), t && jS(e, t)
                }(t, o["Component"]), n = t, (r = [{
                    key: "componentDidMount",
                    value: function() {
                        _t.a.on("flush:state", this._flushToStore)
                    }
                }, {
                    key: "componentWillUnmount",
                    value: function() {
                        _t.a.off("flush:state", this._flushToStore), this._flushToStore(), this._regexMatcher.resetWorker()
                    }
                }, {
                    key: "onDelimiterChange",
                    value: function(e) {
                        this._updateDelimiter(e)
                    }
                }, {
                    key: "onFlagsChange",
                    value: function(e) {
                        this._updateFlags(e)
                    }
                }, {
                    key: "onRegexPaste",
                    value: function(e) {
                        var t = this.props,
                            n = t.flavor,
                            r = t.dispatch,
                            o = e.delimiter,
                            a = e.flags,
                            i = e.isSub,
                            s = e.substText;
                        this.props.flavor === _.a.PCRE && r(Object(ne.C)(o)), r(Object(ne.F)("", a, n)), i && (r(Object(ne.T)()), _t.a.emit("set:substString", s))
                    }
                }, {
                    key: "onRegexInput",
                    value: function(e) {
                        this._regex = e, this._runMatch(), this._updateRegex(e, Zb.a.status)
                    }
                }, {
                    key: "onTestInput",
                    value: function(e) {
                        this._testString = e, this._runMatch(), this._updateTestString(e)
                    }
                }, {
                    key: "_updateRegex",
                    value: function(e, t) {
                        var n = this.props,
                            r = n.dispatch,
                            o = n.error;
                        r(Object(ne.B)(e)), "" === e && null != o ? r(Object(ne.D)(null)) : null != t && t != o && r(Object(ne.D)(t)), null != t && r(Object(ne.J)({
                            data: [],
                            time: Date.now()
                        }))
                    }
                }, {
                    key: "_updateTestString",
                    value: function(e) {
                        var t = this.props,
                            n = t.error,
                            r = t.dispatch;
                        r(Object(ne.P)(e)), n != un.a && null != n && r(Object(ne.D)(null))
                    }
                }, {
                    key: "_updateFlags",
                    value: function(e) {
                        var t = this.props,
                            n = t.dispatch,
                            r = t.flags,
                            o = t.flavor;
                        n(Object(ne.F)(r, e, o))
                    }
                }, {
                    key: "_updateDelimiter",
                    value: function(e) {
                        this.props.dispatch(Object(ne.C)(e))
                    }
                }, {
                    key: "_updateMatchResult",
                    value: function(e, t) {
                        this.props.error != t && this.props.dispatch(Object(ne.D)(t)), this.props.dispatch(Object(ne.J)({
                            data: e.matchResult,
                            time: Date.now()
                        })), this.setState({
                            isMatching: !1
                        })
                    }
                }, {
                    key: "_resetMatchState",
                    value: function() {
                        this.setState({
                            isMatching: !1,
                            matchResult: [],
                            time: null,
                            steps: null
                        })
                    }
                }, {
                    key: "_flushToStore",
                    value: function() {
                        this._updateRegex.flush(), this._updateTestString.flush(), this._updateMatchResult.flush(), this._resetMatchState.cancel()
                    }
                }, {
                    key: "_runMatch",
                    value: function() {
                        var e = this;
                        if (null != Zb.a.status || "" == this._regex) return this._updateMatchResult.cancel(), void this._resetMatchState();
                        this._resetMatchState.cancel(), this.setState({
                            isMatching: !0
                        });
                        var t = this.props,
                            n = t.flavor,
                            r = t.maxExecutionTime,
                            o = t.flags,
                            a = {
                                maxExecutionTime: r,
                                flavor: n
                            };
                        this._regexMatcher.runMatch(this._regex, o, this._testString, a, function(t, n) {
                            if (null == Zb.a.status) {
                                if (null != n) return e._resetMatchState(), void e._updateMatchResult({
                                    matchResult: []
                                }, n);
                                e.setState({
                                    matchResult: t.matchResult,
                                    steps: t.steps,
                                    time: t.time
                                }), e._updateMatchResult(t, n)
                            }
                        })
                    }
                }, {
                    key: "render",
                    value: function() {
                        var e = this.props,
                            t = e.regex,
                            n = e.flags,
                            r = e.flavor,
                            o = e.delimiter,
                            i = e.showUnitTestArea,
                            s = e.error,
                            c = this.state,
                            u = c.isMatching,
                            l = c.matchResult,
                            p = c.steps,
                            f = c.time;
                        return a.a.createElement("div", {
                            className: mS.a.regexPlayground
                        }, a.a.createElement("div", {
                            className: mS.a.regexArea
                        }, a.a.createElement(pE, null, !i && a.a.createElement(Hk, {
                            isMatching: u,
                            matchNum: l.length,
                            steps: p,
                            time: f,
                            error: s,
                            flavor: r,
                            hasRegex: t.length > 0
                        })), a.a.createElement(Nk, {
                            parser: Zb.a,
                            onRegexInput: this.onRegexInput,
                            onRegexPaste: this.onRegexPaste,
                            onDelimiterChange: this.onDelimiterChange,
                            onFlagsChange: this.onFlagsChange,
                            regex: t,
                            flavor: r,
                            flags: n,
                            delimiter: o
                        })), a.a.createElement("div", {
                            className: mS.a.switchableArea
                        }, this._renderTestArea()))
                    }
                }, {
                    key: "_renderTestArea",
                    value: function() {
                        return this.props.showUnitTestArea ? a.a.createElement(sw, null) : a.a.createElement("div", {
                            className: mS.a.testStringArea
                        }, a.a.createElement(bS, {
                            onInput: this.onTestInput,
                            matchResult: this.state.matchResult
                        }), a.a.createElement(hS.a, null))
                    }
                }]) && vS(n.prototype, r), i && vS(n, i), t
            }(), fS.propTypes = {
                regex: He.a.string,
                flags: He.a.string,
                flavor: He.a.oneOf(_.a.all).isRequired,
                delimiter: He.a.string.isRequired,
                testString: He.a.string.isRequired,
                showUnitTestArea: He.a.bool.isRequired,
                maxExecutionTime: He.a.number.isRequired,
                dispatch: He.a.func.isRequired,
                error: He.a.oneOfType([He.a.string, He.a.number])
            }, wS((pS = yS).prototype, "onDelimiterChange", [vt.a], Object.getOwnPropertyDescriptor(pS.prototype, "onDelimiterChange"), pS.prototype), wS(pS.prototype, "onFlagsChange", [vt.a], Object.getOwnPropertyDescriptor(pS.prototype, "onFlagsChange"), pS.prototype), wS(pS.prototype, "onRegexPaste", [vt.a], Object.getOwnPropertyDescriptor(pS.prototype, "onRegexPaste"), pS.prototype), wS(pS.prototype, "onRegexInput", [vt.a], Object.getOwnPropertyDescriptor(pS.prototype, "onRegexInput"), pS.prototype), wS(pS.prototype, "onTestInput", [vt.a], Object.getOwnPropertyDescriptor(pS.prototype, "onTestInput"), pS.prototype), wS(pS.prototype, "_updateRegex", [iS], Object.getOwnPropertyDescriptor(pS.prototype, "_updateRegex"), pS.prototype), wS(pS.prototype, "_updateTestString", [sS], Object.getOwnPropertyDescriptor(pS.prototype, "_updateTestString"), pS.prototype), wS(pS.prototype, "_updateFlags", [vt.a], Object.getOwnPropertyDescriptor(pS.prototype, "_updateFlags"), pS.prototype), wS(pS.prototype, "_updateDelimiter", [vt.a], Object.getOwnPropertyDescriptor(pS.prototype, "_updateDelimiter"), pS.prototype), wS(pS.prototype, "_updateMatchResult", [cS], Object.getOwnPropertyDescriptor(pS.prototype, "_updateMatchResult"), pS.prototype), wS(pS.prototype, "_resetMatchState", [uS], Object.getOwnPropertyDescriptor(pS.prototype, "_resetMatchState"), pS.prototype), wS(pS.prototype, "_flushToStore", [vt.a], Object.getOwnPropertyDescriptor(pS.prototype, "_flushToStore"), pS.prototype), wS(pS.prototype, "_runMatch", [vt.a], Object.getOwnPropertyDescriptor(pS.prototype, "_runMatch"), pS.prototype), wS(pS.prototype, "_renderTestArea", [vt.a], Object.getOwnPropertyDescriptor(pS.prototype, "_renderTestArea"), pS.prototype), lS = pS)) || lS) || lS),
            CS = n("./app/js/components/RegexEditor/RegexEditorPage.css"),
            PS = n.n(CS);

        function TS(e) {
            return (TS = "function" === typeof Symbol && "symbol" === typeof Symbol.iterator ? function(e) {
                return typeof e
            } : function(e) {
                return e && "function" === typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e
            })(e)
        }

        function RS() {
            return (RS = Object.assign || function(e) {
                for (var t = 1; t < arguments.length; t++) {
                    var n = arguments[t];
                    for (var r in n) Object.prototype.hasOwnProperty.call(n, r) && (e[r] = n[r])
                }
                return e
            }).apply(this, arguments)
        }

        function NS(e, t) {
            for (var n = 0; n < t.length; n++) {
                var r = t[n];
                r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(e, r.key, r)
            }
        }

        function MS(e, t) {
            return !t || "object" !== TS(t) && "function" !== typeof t ? function(e) {
                if (void 0 === e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
                return e
            }(e) : t
        }

        function AS(e) {
            return (AS = Object.setPrototypeOf ? Object.getPrototypeOf : function(e) {
                return e.__proto__ || Object.getPrototypeOf(e)
            })(e)
        }

        function IS(e, t) {
            return (IS = Object.setPrototypeOf || function(e, t) {
                return e.__proto__ = t, e
            })(e, t)
        }
        var LS = Object(vt.c)(function(e, t) {
            return {
                regexDataFetch: t ? Object(ne.l)(e.match.params.permalinkFragment, e.match.params.version) : null
            }
        })((SS = ES = function(e) {
            function t() {
                return function(e, t) {
                    if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function")
                }(this, t), MS(this, AS(t).apply(this, arguments))
            }
            var n, r, i;
            return function(e, t) {
                if ("function" !== typeof t && null !== t) throw new TypeError("Super expression must either be null or a function");
                e.prototype = Object.create(t && t.prototype, {
                    constructor: {
                        value: e,
                        writable: !0,
                        configurable: !0
                    }
                }), t && IS(e, t)
            }(t, o["Component"]), n = t, (r = [{
                key: "render",
                value: function() {
                    var e = this.props,
                        t = e.match,
                        n = e.regexDataFetch;
                    return t.params.permalinkFragment && n.fetchError ? "1" !== t.params.version ? a.a.createElement(Ve.d, {
                        to: "/r/".concat(t.params.permalinkFragment, "/1")
                    }) : a.a.createElement(Ve.d, {
                        to: "/"
                    }) : a.a.createElement("div", {
                        className: PS.a.root
                    }, a.a.createElement(RO, null), a.a.createElement(xS, null), a.a.createElement(Ve.e, {
                        path: Object(sn.b)("".concat(t.path, "/:unitTest(tests)?/codegen")),
                        children: function(e) {
                            var t = RS({}, e);
                            return a.a.createElement(Xb, t)
                        },
                        exact: !0
                    }), a.a.createElement(Ve.e, {
                        path: Object(sn.b)("".concat(t.path, "/debugger")),
                        children: function(e) {
                            var t = RS({}, e);
                            return a.a.createElement(Wd, t)
                        },
                        exact: !0
                    }))
                }
            }]) && NS(n.prototype, r), i && NS(n, i), t
        }(), ES.propTypes = {
            match: He.a.shape({
                url: He.a.string.isRequired,
                params: He.a.object.isRequired
            }).isRequired,
            regexDataFetch: He.a.shape({
                fetchError: He.a.any
            })
        }, kS = SS)) || kS;

        function DS(e) {
            return (DS = "function" === typeof Symbol && "symbol" === typeof Symbol.iterator ? function(e) {
                return typeof e
            } : function(e) {
                return e && "function" === typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e
            })(e)
        }

        function qS(e, t) {
            if (e === t) return !0;
            "object" !== DS(e) && (e = [].concat(e)), "object" !== DS(t) && (t = [].concat(t));
            var n = Object.keys(e),
                r = Object.keys(t);
            if (n.length !== r.length) return !1;
            for (var o = Object.prototype.hasOwnProperty, a = 0; a < n.length; a++)
                if (!o.call(t, n[a]) || e[n[a]] !== t[n[a]]) return !1;
            return !0
        }
        var FS = n("./app/js/components/LoadingScreen/FetchIndicator.css"),
            zS = n.n(FS);

        function GS(e) {
            return (GS = "function" === typeof Symbol && "symbol" === typeof Symbol.iterator ? function(e) {
                return typeof e
            } : function(e) {
                return e && "function" === typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e
            })(e)
        }

        function BS(e, t) {
            for (var n = 0; n < t.length; n++) {
                var r = t[n];
                r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(e, r.key, r)
            }
        }

        function US(e, t) {
            return !t || "object" !== GS(t) && "function" !== typeof t ? function(e) {
                if (void 0 === e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
                return e
            }(e) : t
        }

        function HS(e) {
            return (HS = Object.setPrototypeOf ? Object.getPrototypeOf : function(e) {
                return e.__proto__ || Object.getPrototypeOf(e)
            })(e)
        }

        function WS(e, t) {
            return (WS = Object.setPrototypeOf || function(e, t) {
                return e.__proto__ = t, e
            })(e, t)
        }
        var VS = function(e) {
            function t() {
                return function(e, t) {
                    if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function")
                }(this, t), US(this, HS(t).apply(this, arguments))
            }
            var n, r, i;
            return function(e, t) {
                if ("function" !== typeof t && null !== t) throw new TypeError("Super expression must either be null or a function");
                e.prototype = Object.create(t && t.prototype, {
                    constructor: {
                        value: e,
                        writable: !0,
                        configurable: !0
                    }
                }), t && WS(e, t)
            }(t, o["PureComponent"]), n = t, (r = [{
                key: "render",
                value: function() {
                    return this.props.isVisible ? a.a.createElement("div", {
                        className: zS.a.root
                    }, a.a.createElement($e.r, {
                        size: Ot.d.small
                    })) : null
                }
            }]) && BS(n.prototype, r), i && BS(n, i), t
        }();
        VS.propTypes = {
            isVisible: He.a.bool.isRequired
        };
        var KS = VS,
            $S = n("./app/js/components/Paginator/Page.css"),
            YS = n.n($S);

        function JS(e) {
            return (JS = "function" === typeof Symbol && "symbol" === typeof Symbol.iterator ? function(e) {
                return typeof e
            } : function(e) {
                return e && "function" === typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e
            })(e)
        }

        function QS(e, t) {
            for (var n = 0; n < t.length; n++) {
                var r = t[n];
                r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(e, r.key, r)
            }
        }

        function XS(e, t) {
            return !t || "object" !== JS(t) && "function" !== typeof t ? function(e) {
                if (void 0 === e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
                return e
            }(e) : t
        }

        function ZS(e) {
            return (ZS = Object.setPrototypeOf ? Object.getPrototypeOf : function(e) {
                return e.__proto__ || Object.getPrototypeOf(e)
            })(e)
        }

        function ex(e, t) {
            return (ex = Object.setPrototypeOf || function(e, t) {
                return e.__proto__ = t, e
            })(e, t)
        }
        var tx = function(e) {
            function t() {
                return function(e, t) {
                    if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function")
                }(this, t), XS(this, ZS(t).apply(this, arguments))
            }
            var n, r, i;
            return function(e, t) {
                if ("function" !== typeof t && null !== t) throw new TypeError("Super expression must either be null or a function");
                e.prototype = Object.create(t && t.prototype, {
                    constructor: {
                        value: e,
                        writable: !0,
                        configurable: !0
                    }
                }), t && ex(e, t)
            }(t, o["PureComponent"]), n = t, (r = [{
                key: "render",
                value: function() {
                    var e = this.props,
                        t = e.active,
                        n = e.page,
                        r = e.location,
                        o = Object.assign({}, r, {
                            search: an.a.stringify(Object.assign({}, an.a.parse(r.search), {
                                page: n
                            }))
                        });
                    return a.a.createElement($e.l, {
                        to: o,
                        className: Je()(YS.a.page, t && YS.a.active),
                        noTheme: !0
                    }, n)
                }
            }]) && QS(n.prototype, r), i && QS(n, i), t
        }();
        tx.propTypes = {
            page: He.a.number.isRequired,
            active: He.a.bool,
            location: He.a.object.isRequired
        };
        var nx = tx,
            rx = n("./app/js/components/Paginator/PageArrow.css"),
            ox = n.n(rx);

        function ax(e) {
            return (ax = "function" === typeof Symbol && "symbol" === typeof Symbol.iterator ? function(e) {
                return typeof e
            } : function(e) {
                return e && "function" === typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e
            })(e)
        }

        function ix(e, t) {
            for (var n = 0; n < t.length; n++) {
                var r = t[n];
                r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(e, r.key, r)
            }
        }

        function sx(e, t) {
            return !t || "object" !== ax(t) && "function" !== typeof t ? function(e) {
                if (void 0 === e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
                return e
            }(e) : t
        }

        function cx(e) {
            return (cx = Object.setPrototypeOf ? Object.getPrototypeOf : function(e) {
                return e.__proto__ || Object.getPrototypeOf(e)
            })(e)
        }

        function ux(e, t) {
            return (ux = Object.setPrototypeOf || function(e, t) {
                return e.__proto__ = t, e
            })(e, t)
        }
        var lx = function(e) {
            function t() {
                return function(e, t) {
                    if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function")
                }(this, t), sx(this, cx(t).apply(this, arguments))
            }
            var n, r, i;
            return function(e, t) {
                if ("function" !== typeof t && null !== t) throw new TypeError("Super expression must either be null or a function");
                e.prototype = Object.create(t && t.prototype, {
                    constructor: {
                        value: e,
                        writable: !0,
                        configurable: !0
                    }
                }), t && ux(e, t)
            }(t, o["PureComponent"]), n = t, (r = [{
                key: "render",
                value: function() {
                    var e = this.props,
                        t = e.left,
                        n = e.right,
                        r = e.nextPage,
                        o = e.className,
                        i = e.visible,
                        s = e.location,
                        c = Object.assign({}, s, {
                            search: an.a.stringify(Object.assign({}, an.a.parse(s.search), {
                                page: r
                            }))
                        });
                    return a.a.createElement($e.l, {
                        to: c,
                        className: Je()(ox.a.pageArrow, !i && ox.a.hidden, o),
                        noTheme: !0
                    }, a.a.createElement($e.i, {
                        icon: Je()(t && "angle-left", n && "angle-right")
                    }))
                }
            }]) && ix(n.prototype, r), i && ix(n, i), t
        }();
        lx.propTypes = {
            nextPage: He.a.number.isRequired,
            className: He.a.string,
            left: He.a.bool,
            right: He.a.bool,
            location: He.a.object.isRequired,
            visible: He.a.bool.isRequired
        };
        var px = lx,
            fx = n("./app/js/components/Paginator/Paginator.css"),
            yx = n.n(fx);

        function bx(e) {
            return (bx = "function" === typeof Symbol && "symbol" === typeof Symbol.iterator ? function(e) {
                return typeof e
            } : function(e) {
                return e && "function" === typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e
            })(e)
        }

        function hx(e, t) {
            for (var n = 0; n < t.length; n++) {
                var r = t[n];
                r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(e, r.key, r)
            }
        }

        function dx(e, t) {
            return !t || "object" !== bx(t) && "function" !== typeof t ? function(e) {
                if (void 0 === e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
                return e
            }(e) : t
        }

        function mx(e) {
            return (mx = Object.setPrototypeOf ? Object.getPrototypeOf : function(e) {
                return e.__proto__ || Object.getPrototypeOf(e)
            })(e)
        }

        function gx(e, t) {
            return (gx = Object.setPrototypeOf || function(e, t) {
                return e.__proto__ = t, e
            })(e, t)
        }
        var vx = function(e) {
            function t() {
                return function(e, t) {
                    if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function")
                }(this, t), dx(this, mx(t).apply(this, arguments))
            }
            var n, r, i;
            return function(e, t) {
                if ("function" !== typeof t && null !== t) throw new TypeError("Super expression must either be null or a function");
                e.prototype = Object.create(t && t.prototype, {
                    constructor: {
                        value: e,
                        writable: !0,
                        configurable: !0
                    }
                }), t && gx(e, t)
            }(t, o["PureComponent"]), n = t, (r = [{
                key: "getRange",
                value: function(e, t) {
                    for (var n = [], r = e; r <= t; r++) n.push(r);
                    return n
                }
            }, {
                key: "render",
                value: function() {
                    var e = this.props,
                        t = e.pages,
                        n = e.location,
                        r = e.className;
                    if (t < 2) return null;
                    var o = Math.min(t, this.props.currentPage),
                        i = N.a.uniq([].concat(this.getRange(Math.max(1, o - 3), o), this.getRange(o, Math.min(t, o + 3)))).filter(function(e) {
                            return 1 !== e && e !== t
                        });
                    return a.a.createElement("div", {
                        className: Je()(yx.a.paginator, r)
                    }, a.a.createElement(px, {
                        nextPage: o - 1,
                        location: n,
                        visible: o > 1,
                        left: !0
                    }), a.a.createElement(nx, {
                        page: 1,
                        active: 1 === o,
                        location: n
                    }), i[0] > 2 && "...", i.map(function(e) {
                        return a.a.createElement(nx, {
                            page: e,
                            location: n,
                            active: o === e,
                            key: "page-".concat(e)
                        })
                    }), i[i.length - 1] + 1 < t && "...", a.a.createElement(nx, {
                        page: t,
                        location: n,
                        active: t === o
                    }), a.a.createElement(px, {
                        nextPage: o + 1,
                        location: n,
                        visible: o < t,
                        right: !0
                    }))
                }
            }]) && hx(n.prototype, r), i && hx(n, i), t
        }();
        vx.propTypes = {
            currentPage: He.a.number,
            pages: He.a.number.isRequired,
            location: He.a.shape({
                pathname: He.a.string.isRequired,
                search: He.a.string.isRequired
            }).isRequired,
            className: He.a.string
        }, vx.defaultProps = {
            currentPage: 1
        };
        var _x, Ox, jx, wx, kx = vx,
            Ex = n("./node_modules/moment/moment.js"),
            Sx = n.n(Ex),
            xx = n("./node_modules/remove-markdown/index.js"),
            Cx = n.n(xx),
            Px = n("./app/js/components/RegexLibrary/VoteButton.css"),
            Tx = n.n(Px);

        function Rx(e) {
            return (Rx = "function" === typeof Symbol && "symbol" === typeof Symbol.iterator ? function(e) {
                return typeof e
            } : function(e) {
                return e && "function" === typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e
            })(e)
        }

        function Nx(e, t) {
            for (var n = 0; n < t.length; n++) {
                var r = t[n];
                r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(e, r.key, r)
            }
        }

        function Mx(e, t) {
            return !t || "object" !== Rx(t) && "function" !== typeof t ? function(e) {
                if (void 0 === e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
                return e
            }(e) : t
        }

        function Ax(e) {
            return (Ax = Object.setPrototypeOf ? Object.getPrototypeOf : function(e) {
                return e.__proto__ || Object.getPrototypeOf(e)
            })(e)
        }

        function Ix(e, t) {
            return (Ix = Object.setPrototypeOf || function(e, t) {
                return e.__proto__ = t, e
            })(e, t)
        }

        function Lx(e, t, n, r, o) {
            var a = {};
            return Object.keys(r).forEach(function(e) {
                a[e] = r[e]
            }), a.enumerable = !!a.enumerable, a.configurable = !!a.configurable, ("value" in a || a.initializer) && (a.writable = !0), a = n.slice().reverse().reduce(function(n, r) {
                return r(e, t, n) || n
            }, a), o && void 0 !== a.initializer && (a.value = a.initializer ? a.initializer.call(o) : void 0, a.initializer = void 0), void 0 === a.initializer && (Object.defineProperty(e, t, a), a = null), a
        }
        var Dx = Object(We.b)()((wx = jx = function(e) {
                function t() {
                    return function(e, t) {
                        if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function")
                    }(this, t), Mx(this, Ax(t).apply(this, arguments))
                }
                var n, r, i;
                return function(e, t) {
                    if ("function" !== typeof t && null !== t) throw new TypeError("Super expression must either be null or a function");
                    e.prototype = Object.create(t && t.prototype, {
                        constructor: {
                            value: e,
                            writable: !0,
                            configurable: !0
                        }
                    }), t && Ix(e, t)
                }(t, o["PureComponent"]), n = t, (r = [{
                    key: "onVoteClick",
                    value: function(e, t) {
                        e.preventDefault(), this.props.userVote === t && (t = 0), this.props.dispatch(Object(ne.fb)(this.props.permalinkFragment, t, this.props.entryIdx))
                    }
                }, {
                    key: "onVoteDown",
                    value: function(e) {
                        this.onVoteClick(e, -1)
                    }
                }, {
                    key: "onVoteUp",
                    value: function(e) {
                        this.onVoteClick(e, 1)
                    }
                }, {
                    key: "_getColor",
                    value: function(e) {
                        var t = (120 * e).toString(10);
                        return "hsl(".concat(t, ", 100%, 35%)")
                    }
                }, {
                    key: "render",
                    value: function() {
                        var e = this.props,
                            t = e.upvotes,
                            n = e.downvotes,
                            r = e.canvote,
                            o = e.userVote,
                            i = e.className,
                            s = Math.round(t - n),
                            c = Math.max(0, Math.round(t / (t + n) * 100)),
                            u = Je()(Tx.a.votebutton, !r && Tx.a.disabled),
                            l = Object(Ke.a)("{1} upvotes, {2} downvotes ({3}% like it)", Math.round(t), Math.round(n), c) + (r ? "" : "\n(" + Object(Ke.a)("You must be signed in to vote") + ")"),
                            p = null;
                        return 0 === t && 0 === n || (p = this._getColor(c / 100)), a.a.createElement($e.v, {
                            direction: Ot.b.E,
                            className: Je()(Tx.a.root, i),
                            text: l
                        }, a.a.createElement("div", {
                            className: Je()(u, Tx.a.upvote, o > 0 && Tx.a.hasVoted),
                            onClick: this.onVoteUp
                        }, a.a.createElement($e.i, {
                            icon: "angle-up"
                        })), a.a.createElement("div", {
                            className: Tx.a.score,
                            style: {
                                color: p
                            }
                        }, s), a.a.createElement("div", {
                            className: Je()(u, Tx.a.downvote, o < 0 && Tx.a.hasVoted),
                            onClick: this.onVoteDown
                        }, a.a.createElement($e.i, {
                            icon: "angle-down"
                        })))
                    }
                }]) && Nx(n.prototype, r), i && Nx(n, i), t
            }(), jx.propTypes = {
                dispatch: He.a.func.isRequired,
                upvotes: He.a.number.isRequired,
                downvotes: He.a.number.isRequired,
                canvote: He.a.bool.isRequired,
                className: He.a.string,
                userVote: He.a.number,
                entryIdx: He.a.number.isRequired,
                permalinkFragment: He.a.string.isRequired
            }, jx.defaultProps = {
                userVote: 0
            }, Lx((Ox = wx).prototype, "onVoteClick", [vt.a], Object.getOwnPropertyDescriptor(Ox.prototype, "onVoteClick"), Ox.prototype), Lx(Ox.prototype, "onVoteDown", [vt.a], Object.getOwnPropertyDescriptor(Ox.prototype, "onVoteDown"), Ox.prototype), Lx(Ox.prototype, "onVoteUp", [vt.a], Object.getOwnPropertyDescriptor(Ox.prototype, "onVoteUp"), Ox.prototype), _x = Ox)) || _x,
            qx = n("./app/js/components/RegexLibrary/LibraryEntry.css"),
            Fx = n.n(qx);

        function zx(e) {
            return (zx = "function" === typeof Symbol && "symbol" === typeof Symbol.iterator ? function(e) {
                return typeof e
            } : function(e) {
                return e && "function" === typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e
            })(e)
        }

        function Gx(e, t) {
            for (var n = 0; n < t.length; n++) {
                var r = t[n];
                r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(e, r.key, r)
            }
        }

        function Bx(e, t) {
            return !t || "object" !== zx(t) && "function" !== typeof t ? function(e) {
                if (void 0 === e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
                return e
            }(e) : t
        }

        function Ux(e) {
            return (Ux = Object.setPrototypeOf ? Object.getPrototypeOf : function(e) {
                return e.__proto__ || Object.getPrototypeOf(e)
            })(e)
        }

        function Hx(e, t) {
            return (Hx = Object.setPrototypeOf || function(e, t) {
                return e.__proto__ = t, e
            })(e, t)
        }
        var Wx = function(e) {
            function t() {
                return function(e, t) {
                    if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function")
                }(this, t), Bx(this, Ux(t).apply(this, arguments))
            }
            var n, r, i;
            return function(e, t) {
                if ("function" !== typeof t && null !== t) throw new TypeError("Super expression must either be null or a function");
                e.prototype = Object.create(t && t.prototype, {
                    constructor: {
                        value: e,
                        writable: !0,
                        configurable: !0
                    }
                }), t && Hx(e, t)
            }(t, o["PureComponent"]), n = t, (r = [{
                key: "_truncateDescription",
                value: function(e) {
                    var t = e;
                    return e && e.length > 303 && (t = e.slice(0, 300) + "..."), t.split("\n").length > 6 && (t = t.split("\n").slice(0, 6).join("\n") + "..."), t
                }
            }, {
                key: "render",
                value: function() {
                    var e = this.props,
                        t = e.title,
                        n = e.flavor,
                        r = e.date,
                        o = e.upvotes,
                        i = e.downvotes,
                        s = e.canvote,
                        c = e.author,
                        u = e.userVote,
                        l = e.entryIdx,
                        p = e.location,
                        f = e.description,
                        y = e.permalinkFragment;
                    return a.a.createElement("div", {
                        className: Fx.a.root
                    }, a.a.createElement(Dx, {
                        canvote: s,
                        upvotes: o,
                        downvotes: i,
                        userVote: u,
                        entryIdx: l,
                        permalinkFragment: y,
                        className: Fx.a.voteButton
                    }), a.a.createElement($e.l, {
                        noTheme: !0,
                        to: p,
                        className: Fx.a.entryButton
                    }, a.a.createElement("div", null, a.a.createElement("div", {
                        className: Fx.a.clear
                    }, a.a.createElement("div", {
                        className: Fx.a.flavor
                    }, n), a.a.createElement("div", {
                        className: Fx.a.dateAndAuthor
                    }, Object(Ke.a)("Submitted by"), " ", a.a.createElement("span", {
                        className: Fx.a.author
                    }, c), " - ", a.a.createElement("span", null, Sx.a.utc(r).fromNow()))), a.a.createElement("div", {
                        className: Fx.a.title
                    }, t), a.a.createElement("div", {
                        className: Je()(Fx.a.description, !f && Fx.a.noDescription)
                    }, this._truncateDescription(Cx()(f || Object(Ke.a)("no description available")))))))
                }
            }]) && Gx(n.prototype, r), i && Gx(n, i), t
        }();
        Wx.propTypes = {
            title: He.a.string.isRequired,
            flavor: He.a.oneOf(_.a.all).isRequired,
            date: He.a.string.isRequired,
            upvotes: He.a.number.isRequired,
            downvotes: He.a.number.isRequired,
            canvote: He.a.bool,
            entryIdx: He.a.number.isRequired,
            author: He.a.string,
            userVote: He.a.number,
            location: He.a.object.isRequired,
            description: He.a.string,
            permalinkFragment: He.a.string.isRequired
        }, Wx.defaultProps = {
            canvote: !1,
            isActive: !1,
            author: Object(Ke.a)("anonymous")
        };
        var Vx = Wx,
            Kx = n("./app/js/components/RegexLibrary/EntryRegex.css"),
            $x = n.n(Kx);

        function Yx(e) {
            return (Yx = "function" === typeof Symbol && "symbol" === typeof Symbol.iterator ? function(e) {
                return typeof e
            } : function(e) {
                return e && "function" === typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e
            })(e)
        }

        function Jx(e, t) {
            for (var n = 0; n < t.length; n++) {
                var r = t[n];
                r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(e, r.key, r)
            }
        }

        function Qx(e, t) {
            return !t || "object" !== Yx(t) && "function" !== typeof t ? function(e) {
                if (void 0 === e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
                return e
            }(e) : t
        }

        function Xx(e) {
            return (Xx = Object.setPrototypeOf ? Object.getPrototypeOf : function(e) {
                return e.__proto__ || Object.getPrototypeOf(e)
            })(e)
        }

        function Zx(e, t) {
            return (Zx = Object.setPrototypeOf || function(e, t) {
                return e.__proto__ = t, e
            })(e, t)
        }
        var eC = function(e) {
            function t() {
                var e, n;
                ! function(e, t) {
                    if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function")
                }(this, t);
                for (var r = arguments.length, o = new Array(r), a = 0; a < r; a++) o[a] = arguments[a];
                return (n = Qx(this, (e = Xx(t)).call.apply(e, [this].concat(o)))).regexParser = new Se.a, n
            }
            var n, r, i;
            return function(e, t) {
                if ("function" !== typeof t && null !== t) throw new TypeError("Super expression must either be null or a function");
                e.prototype = Object.create(t && t.prototype, {
                    constructor: {
                        value: e,
                        writable: !0,
                        configurable: !0
                    }
                }), t && Zx(e, t)
            }(t, o["PureComponent"]), n = t, (r = [{
                key: "render",
                value: function() {
                    var e = this.props,
                        t = e.delimiter,
                        n = e.flags,
                        r = e.regex,
                        o = e.title,
                        i = e.flavor,
                        s = e.permalinkFragment,
                        c = e.version;
                    this.regexParser.flavor = i;
                    var u = this.regexParser.parse(r, {
                        delimiter: t,
                        flags: n
                    }).tokens;
                    return a.a.createElement("div", null, a.a.createElement($e.m, {
                        text: o
                    }, a.a.createElement("div", {
                        className: $x.a.flavor
                    }, i)), a.a.createElement(Ff, null, a.a.createElement(Im, {
                        tokens: u,
                        delimiter: t,
                        flags: n
                    }), a.a.createElement("div", {
                        className: $x.a.regexLink
                    }, a.a.createElement($e.l, {
                        to: Object(sn.a)(s, c),
                        absolute: !0
                    }, Object(Ke.a)("Open regex in editor"), a.a.createElement($e.i, {
                        className: $x.a.regexLinkIcon,
                        icon: "link-ext"
                    })))))
                }
            }]) && Jx(n.prototype, r), i && Jx(n, i), t
        }();
        eC.propTypes = {
            delimiter: He.a.string.isRequired,
            flags: He.a.string,
            regex: He.a.string.isRequired,
            title: He.a.string.isRequired,
            flavor: He.a.string.isRequired,
            permalinkFragment: He.a.string.isRequired,
            version: He.a.number.isRequired
        };
        var tC = eC,
            nC = n("./app/js/components/RegexLibrary/EntryDescription.css"),
            rC = n.n(nC);

        function oC(e) {
            return (oC = "function" === typeof Symbol && "symbol" === typeof Symbol.iterator ? function(e) {
                return typeof e
            } : function(e) {
                return e && "function" === typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e
            })(e)
        }

        function aC(e, t) {
            for (var n = 0; n < t.length; n++) {
                var r = t[n];
                r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(e, r.key, r)
            }
        }

        function iC(e, t) {
            return !t || "object" !== oC(t) && "function" !== typeof t ? function(e) {
                if (void 0 === e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
                return e
            }(e) : t
        }

        function sC(e) {
            return (sC = Object.setPrototypeOf ? Object.getPrototypeOf : function(e) {
                return e.__proto__ || Object.getPrototypeOf(e)
            })(e)
        }

        function cC(e, t) {
            return (cC = Object.setPrototypeOf || function(e, t) {
                return e.__proto__ = t, e
            })(e, t)
        }
        var uC = function(e) {
            function t() {
                return function(e, t) {
                    if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function")
                }(this, t), iC(this, sC(t).apply(this, arguments))
            }
            var n, r, i;
            return function(e, t) {
                if ("function" !== typeof t && null !== t) throw new TypeError("Super expression must either be null or a function");
                e.prototype = Object.create(t && t.prototype, {
                    constructor: {
                        value: e,
                        writable: !0,
                        configurable: !0
                    }
                }), t && cC(e, t)
            }(t, o["PureComponent"]), n = t, (r = [{
                key: "render",
                value: function() {
                    var e = this.props,
                        t = e.date,
                        n = e.author,
                        r = e.description;
                    return a.a.createElement("div", {
                        className: rC.a.root
                    }, a.a.createElement($e.k, {
                        text: Object(Ke.a)("Description")
                    }), a.a.createElement(Ff, null, a.a.createElement(Si, {
                        source: r || Object(Ke.a)("no description available"),
                        className: Je()(rC.a.entryDesc, !r && rC.a.noDescription)
                    }), a.a.createElement("div", {
                        className: rC.a.authorAndDate
                    }, Object(Ke.a)("Submitted by"), " ", a.a.createElement("span", {
                        className: rC.a.author
                    }, n), " - ", Sx.a.utc(t).fromNow())))
                }
            }]) && aC(n.prototype, r), i && aC(n, i), t
        }();
        uC.propTypes = {
            description: He.a.string,
            author: He.a.string,
            date: He.a.string.isRequired
        }, uC.defaultProps = {
            author: Object(Ke.a)("anonymous")
        };
        var lC, pC, fC, yC = uC,
            bC = n("./app/js/components/RegexLibrary/LibraryDetails.css"),
            hC = n.n(bC);

        function dC(e) {
            return (dC = "function" === typeof Symbol && "symbol" === typeof Symbol.iterator ? function(e) {
                return typeof e
            } : function(e) {
                return e && "function" === typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e
            })(e)
        }

        function mC(e, t) {
            for (var n = 0; n < t.length; n++) {
                var r = t[n];
                r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(e, r.key, r)
            }
        }

        function gC(e, t) {
            return !t || "object" !== dC(t) && "function" !== typeof t ? function(e) {
                if (void 0 === e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
                return e
            }(e) : t
        }

        function vC(e) {
            return (vC = Object.setPrototypeOf ? Object.getPrototypeOf : function(e) {
                return e.__proto__ || Object.getPrototypeOf(e)
            })(e)
        }

        function _C(e, t) {
            return (_C = Object.setPrototypeOf || function(e, t) {
                return e.__proto__ = t, e
            })(e, t)
        }
        var OC = Object(We.b)(function(e) {
            return {
                libraryDetails: e.regexLibrary.details
            }
        })(lC = Object(vt.c)(function(e) {
            return {
                fetchLibraryDetails: e.match && null == e.libraryDetails ? Object(ne.k)(e.match.params.libraryId) : null
            }
        })((fC = pC = function(e) {
            function t() {
                return function(e, t) {
                    if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function")
                }(this, t), gC(this, vC(t).apply(this, arguments))
            }
            var n, r, i;
            return function(e, t) {
                if ("function" !== typeof t && null !== t) throw new TypeError("Super expression must either be null or a function");
                e.prototype = Object.create(t && t.prototype, {
                    constructor: {
                        value: e,
                        writable: !0,
                        configurable: !0
                    }
                }), t && _C(e, t)
            }(t, o["Component"]), n = t, (r = [{
                key: "componentWillUnmount",
                value: function() {
                    this.props.dispatch(Object(ne.x)(null))
                }
            }, {
                key: "render",
                value: function() {
                    var e = this.props,
                        t = e.fetchLibraryDetails,
                        n = e.libraryDetails,
                        r = e.location;
                    return t.fetchError ? t.fetchError.response && 404 === t.fetchError.response.status ? a.a.createElement(Ve.d, {
                        to: "/library"
                    }) : a.a.createElement($e.o, {
                        type: Ot.c.ERROR
                    }, Object(Ke.a)("There was a problem when trying to fetch the details for this entry. Please try again later.")) : t.isFetchingData || null == n ? a.a.createElement(KS, {
                        isVisible: !0
                    }) : a.a.createElement("div", {
                        className: hC.a.libraryEntry
                    }, a.a.createElement(tC, {
                        regex: n.regex,
                        flags: n.flags,
                        title: n.title,
                        flavor: n.flavor,
                        delimiter: n.delimiter,
                        permalinkFragment: n.permalinkFragment,
                        version: n.version
                    }), a.a.createElement(yC, {
                        date: n.dateModified,
                        description: n.description || void 0,
                        author: n.author || void 0
                    }), a.a.createElement($e.f, {
                        title: n.title,
                        url: r.pathname
                    }))
                }
            }]) && mC(n.prototype, r), i && mC(n, i), t
        }(), pC.propTypes = {
            dispatch: He.a.func.isRequired,
            libraryDetails: He.a.object,
            match: He.a.shape({
                params: He.a.shape({
                    libraryId: He.a.string.isRequired
                }).isRequired
            }),
            location: He.a.object.isRequired,
            fetchLibraryDetails: He.a.object.isRequired,
            fetchData: He.a.func.isRequired
        }, lC = fC)) || lC) || lC;

        function jC(e) {
            return (jC = "function" === typeof Symbol && "symbol" === typeof Symbol.iterator ? function(e) {
                return typeof e
            } : function(e) {
                return e && "function" === typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e
            })(e)
        }

        function wC(e, t) {
            for (var n = 0; n < t.length; n++) {
                var r = t[n];
                r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(e, r.key, r)
            }
        }

        function kC(e, t) {
            return !t || "object" !== jC(t) && "function" !== typeof t ? function(e) {
                if (void 0 === e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
                return e
            }(e) : t
        }

        function EC(e) {
            return (EC = Object.setPrototypeOf ? Object.getPrototypeOf : function(e) {
                return e.__proto__ || Object.getPrototypeOf(e)
            })(e)
        }

        function SC(e, t) {
            return (SC = Object.setPrototypeOf || function(e, t) {
                return e.__proto__ = t, e
            })(e, t)
        }
        var xC = function(e) {
            function t() {
                return function(e, t) {
                    if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function")
                }(this, t), kC(this, EC(t).apply(this, arguments))
            }
            var n, r, i;
            return function(e, t) {
                if ("function" !== typeof t && null !== t) throw new TypeError("Super expression must either be null or a function");
                e.prototype = Object.create(t && t.prototype, {
                    constructor: {
                        value: e,
                        writable: !0,
                        configurable: !0
                    }
                }), t && SC(e, t)
            }(t, o["Component"]), n = t, (r = [{
                key: "render",
                value: function() {
                    return a.a.createElement(Jf, {
                        isOpen: !!this.props.match,
                        title: Object(Ke.a)("Library Entry"),
                        location: this.props.location,
                        history: this.props.history
                    }, a.a.createElement(OC, this.props))
                }
            }]) && wC(n.prototype, r), i && wC(n, i), t
        }();
        xC.propTypes = {
            match: He.a.object,
            history: He.a.object.isRequired,
            location: He.a.object.isRequired
        };
        var CC, PC, TC, RC, NC = xC,
            MC = n("./app/js/components/RegexLibrary/RegexLibrary.css"),
            AC = n.n(MC);

        function IC(e) {
            return (IC = "function" === typeof Symbol && "symbol" === typeof Symbol.iterator ? function(e) {
                return typeof e
            } : function(e) {
                return e && "function" === typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e
            })(e)
        }

        function LC() {
            return (LC = Object.assign || function(e) {
                for (var t = 1; t < arguments.length; t++) {
                    var n = arguments[t];
                    for (var r in n) Object.prototype.hasOwnProperty.call(n, r) && (e[r] = n[r])
                }
                return e
            }).apply(this, arguments)
        }

        function DC(e, t) {
            if (null == e) return {};
            var n, r, o = function(e, t) {
                if (null == e) return {};
                var n, r, o = {},
                    a = Object.keys(e);
                for (r = 0; r < a.length; r++) n = a[r], t.indexOf(n) >= 0 || (o[n] = e[n]);
                return o
            }(e, t);
            if (Object.getOwnPropertySymbols) {
                var a = Object.getOwnPropertySymbols(e);
                for (r = 0; r < a.length; r++) n = a[r], t.indexOf(n) >= 0 || Object.prototype.propertyIsEnumerable.call(e, n) && (o[n] = e[n])
            }
            return o
        }

        function qC(e, t) {
            for (var n = 0; n < t.length; n++) {
                var r = t[n];
                r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(e, r.key, r)
            }
        }

        function FC(e, t) {
            return !t || "object" !== IC(t) && "function" !== typeof t ? function(e) {
                if (void 0 === e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
                return e
            }(e) : t
        }

        function zC(e) {
            return (zC = Object.setPrototypeOf ? Object.getPrototypeOf : function(e) {
                return e.__proto__ || Object.getPrototypeOf(e)
            })(e)
        }

        function GC(e, t) {
            return (GC = Object.setPrototypeOf || function(e, t) {
                return e.__proto__ = t, e
            })(e, t)
        }

        function BC(e, t, n, r, o) {
            var a = {};
            return Object.keys(r).forEach(function(e) {
                a[e] = r[e]
            }), a.enumerable = !!a.enumerable, a.configurable = !!a.configurable, ("value" in a || a.initializer) && (a.writable = !0), a = n.slice().reverse().reduce(function(n, r) {
                return r(e, t, n) || n
            }, a), o && void 0 !== a.initializer && (a.value = a.initializer ? a.initializer.call(o) : void 0, a.initializer = void 0), void 0 === a.initializer && (Object.defineProperty(e, t, a), a = null), a
        }
        var UC = Object(We.b)(function(e) {
                return {
                    libraryData: e.regexLibrary.libraryData,
                    pages: e.regexLibrary.pages,
                    userId: e.general.userId
                }
            })(CC = Object(vt.c)(function(e, t, n) {
                var r = (e.match.params || {}).libraryId ? {} : an.a.parse(e.location.search);
                return {
                    fetchLibraryData: n || N.a.isEmpty(e.libraryData) ? Object(ne.j)(r.page, r.search, r.orderBy, r.filterFlavors) : null
                }
            })((RC = TC = function(e) {
                function t(e) {
                    var n;
                    return function(e, t) {
                        if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function")
                    }(this, t), (n = FC(this, zC(t).call(this, e))).onSearchInput = N.a.debounce(n.onSearchInput, 500), n
                }
                var n, r, i;
                return function(e, t) {
                    if ("function" !== typeof t && null !== t) throw new TypeError("Super expression must either be null or a function");
                    e.prototype = Object.create(t && t.prototype, {
                        constructor: {
                            value: e,
                            writable: !0,
                            configurable: !0
                        }
                    }), t && GC(e, t)
                }(t, o["Component"]), n = t, (r = [{
                    key: "componentWillReceiveProps",
                    value: function(e) {
                        var t = e.location.state;
                        if (!(e.match.params && e.match.params.libraryId || t && (t.returnTo || t.returnFromFullscreen))) {
                            var n = an.a.parse(this.props.location.search),
                                r = n.filterFlavors,
                                o = void 0 === r ? [] : r,
                                a = DC(n, ["filterFlavors"]),
                                i = an.a.parse(e.location.search),
                                s = i.filterFlavors,
                                c = void 0 === s ? [] : s;
                            qS(a, DC(i, ["filterFlavors"])) && qS(o, c) || this.props.fetchData()
                        }
                    }
                }, {
                    key: "componentWillUnmount",
                    value: function() {
                        this.onSearchInput.cancel(), this.props.dispatch(Object(ne.w)([]))
                    }
                }, {
                    key: "onSearchInput",
                    value: function() {
                        var e, t = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : "",
                            n = an.a.parse(this.props.location.search);
                        e = 0 === (n.search || "").length && 0 !== t.length ? Bu.a.RELEVANCE : 0 === t.length && n.orderBy === Bu.a.RELEVANCE ? Vx.MOST_RECENT : n.orderBy;
                        var r = Object.assign({}, this.props.location, {
                            search: an.a.stringify(Object.assign({}, n, {
                                search: t || void 0,
                                orderBy: e
                            }))
                        });
                        this.props.history.push(r)
                    }
                }, {
                    key: "render",
                    value: function() {
                        var e = this.props,
                            t = e.libraryData,
                            n = e.pages,
                            r = e.location,
                            o = e.fetchLibraryData,
                            i = an.a.parse(r.search),
                            s = Object.assign({}, r);
                        return r.state && (s.state = {}), a.a.createElement("div", {
                            className: AC.a.wrapper
                        }, a.a.createElement(KS, {
                            isVisible: o.isFetchingData
                        }), a.a.createElement("div", {
                            className: Je()(AC.a.entries, o.isFetchingData && AC.a.isFetchingData)
                        }, a.a.createElement($e.k, {
                            text: Object(Ke.a)("Library entries"),
                            className: AC.a.label
                        }), a.a.createElement($e.u, {
                            defaultValue: i.search,
                            onChange: this.onSearchInput,
                            wrappedClassName: AC.a.searchInput,
                            placeholder: Object(Ke.a)("Search library")
                        }), a.a.createElement(Ff, {
                            className: AC.a.dataContainer
                        }, this._renderLibraryContent(i)), !N.a.isEmpty(t) && !o.fetchError && a.a.createElement(kx, {
                            pages: n,
                            currentPage: parseInt(i.page || 1, 10),
                            location: s,
                            className: AC.a.paginator
                        })), a.a.createElement(Ve.e, {
                            path: "/library/:libraryId",
                            children: function(e) {
                                var t = LC({}, e);
                                return t.match && t.match.params && /\W/.test(t.match.params.libraryId) ? a.a.createElement(Ve.d, {
                                    to: "/library"
                                }) : a.a.createElement(NC, t)
                            },
                            exact: !0
                        }), a.a.createElement(Ve.e, {
                            path: "/library/:notLibraryId/:whatever",
                            render: function() {
                                return a.a.createElement(Ve.d, {
                                    to: "/library"
                                })
                            }
                        }))
                    }
                }, {
                    key: "_renderLibraryContent",
                    value: function(e) {
                        var t = this.props,
                            n = t.libraryData,
                            r = t.location,
                            o = t.userId,
                            i = t.fetchLibraryData,
                            s = t.match;
                        return i.fetchError ? a.a.createElement($e.o, {
                            type: Ot.c.ERROR,
                            className: Je()(AC.a.root, AC.a.error)
                        }, Object(Ke.a)("There was a problem trying to fetch the library data. Please try again later.")) : N.a.isEmpty(n) ? e.search && e.search.length > 0 ? a.a.createElement($e.o, null, Object(Ke.a)("Your search did not match anything")) : a.a.createElement($e.o, null, Object(Ke.a)("There does not seem to be anything here")) : n.map(function(e, t) {
                            var n = {
                                pathname: "".concat(s.url, "/").concat(e.permalinkFragment),
                                state: {
                                    returnTo: r
                                }
                            };
                            return a.a.createElement(Vx, {
                                key: "library-entry-".concat(t),
                                title: e.title,
                                description: e.description || void 0,
                                flavor: e.flavor,
                                date: e.dateModified,
                                upvotes: e.upvotes,
                                downvotes: e.downvotes,
                                permalinkFragment: e.permalinkFragment,
                                entryIdx: t,
                                author: e.author || void 0,
                                userVote: e.userVote || void 0,
                                canvote: null != o,
                                location: n
                            })
                        })
                    }
                }]) && qC(n.prototype, r), i && qC(n, i), t
            }(), TC.propTypes = {
                dispatch: He.a.func.isRequired,
                libraryData: He.a.array.isRequired,
                pages: He.a.number.isRequired,
                location: He.a.object.isRequired,
                userId: He.a.number,
                match: He.a.object.isRequired,
                fetchLibraryData: He.a.object.isRequired,
                fetchData: He.a.func.isRequired,
                history: He.a.shape({
                    push: He.a.func.isRequired
                }).isRequired
            }, BC((PC = RC).prototype, "onSearchInput", [vt.a], Object.getOwnPropertyDescriptor(PC.prototype, "onSearchInput"), PC.prototype), BC(PC.prototype, "_renderLibraryContent", [vt.a], Object.getOwnPropertyDescriptor(PC.prototype, "_renderLibraryContent"), PC.prototype), CC = PC)) || CC) || CC,
            HC = n("./app/js/components/utils/props/levels.js"),
            WC = n("./app/js/components/SettingsPage/SettingsGroup.css"),
            VC = n.n(WC);

        function KC(e) {
            return (KC = "function" === typeof Symbol && "symbol" === typeof Symbol.iterator ? function(e) {
                return typeof e
            } : function(e) {
                return e && "function" === typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e
            })(e)
        }

        function $C(e, t) {
            for (var n = 0; n < t.length; n++) {
                var r = t[n];
                r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(e, r.key, r)
            }
        }

        function YC(e, t) {
            return !t || "object" !== KC(t) && "function" !== typeof t ? function(e) {
                if (void 0 === e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
                return e
            }(e) : t
        }

        function JC(e) {
            return (JC = Object.setPrototypeOf ? Object.getPrototypeOf : function(e) {
                return e.__proto__ || Object.getPrototypeOf(e)
            })(e)
        }

        function QC(e, t) {
            return (QC = Object.setPrototypeOf || function(e, t) {
                return e.__proto__ = t, e
            })(e, t)
        }
        var XC = function(e) {
            function t() {
                return function(e, t) {
                    if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function")
                }(this, t), YC(this, JC(t).apply(this, arguments))
            }
            var n, r, i;
            return function(e, t) {
                if ("function" !== typeof t && null !== t) throw new TypeError("Super expression must either be null or a function");
                e.prototype = Object.create(t && t.prototype, {
                    constructor: {
                        value: e,
                        writable: !0,
                        configurable: !0
                    }
                }), t && QC(e, t)
            }(t, o["PureComponent"]), n = t, (r = [{
                key: "render",
                value: function() {
                    var e = this.props,
                        t = e.title,
                        n = e.children;
                    return a.a.createElement("div", {
                        className: VC.a.settingsGroup
                    }, a.a.createElement($e.k, {
                        text: t
                    }), a.a.createElement(Ff, null, n))
                }
            }]) && $C(n.prototype, r), i && $C(n, i), t
        }();
        XC.propTypes = {
            title: He.a.string.isRequired,
            children: He.a.node.isRequired
        };
        var ZC, eP, tP, nP, rP = XC,
            oP = n("./app/js/components/SettingsPage/SettingsPage.css"),
            aP = n.n(oP);

        function iP(e) {
            return (iP = "function" === typeof Symbol && "symbol" === typeof Symbol.iterator ? function(e) {
                return typeof e
            } : function(e) {
                return e && "function" === typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e
            })(e)
        }

        function sP(e, t, n) {
            return t in e ? Object.defineProperty(e, t, {
                value: n,
                enumerable: !0,
                configurable: !0,
                writable: !0
            }) : e[t] = n, e
        }

        function cP(e, t) {
            for (var n = 0; n < t.length; n++) {
                var r = t[n];
                r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(e, r.key, r)
            }
        }

        function uP(e, t) {
            return !t || "object" !== iP(t) && "function" !== typeof t ? function(e) {
                if (void 0 === e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
                return e
            }(e) : t
        }

        function lP(e) {
            return (lP = Object.setPrototypeOf ? Object.getPrototypeOf : function(e) {
                return e.__proto__ || Object.getPrototypeOf(e)
            })(e)
        }

        function pP(e, t) {
            return (pP = Object.setPrototypeOf || function(e, t) {
                return e.__proto__ = t, e
            })(e, t)
        }

        function fP(e, t, n, r, o) {
            var a = {};
            return Object.keys(r).forEach(function(e) {
                a[e] = r[e]
            }), a.enumerable = !!a.enumerable, a.configurable = !!a.configurable, ("value" in a || a.initializer) && (a.writable = !0), a = n.slice().reverse().reduce(function(n, r) {
                return r(e, t, n) || n
            }, a), o && void 0 !== a.initializer && (a.value = a.initializer ? a.initializer.call(o) : void 0, a.initializer = void 0), void 0 === a.initializer && (Object.defineProperty(e, t, a), a = null), a
        }
        var yP = [50, 100, 200, 400, 600, 800, 1e3, 1500, 2e3, 3e3, 4e3, 5e3, 7500, 1e4, 15e3, 2e4, 3e4, 4e4, 5e4, 75e3, 1e5],
            bP = ["maxExecutionTime", "theme", "testAreaLineNumbers", "regexAreaLineNumbers", "nonParticipatingGroups", "colorizeSyntax", "autoComplete", "wrapLines", "language", "editorTooltips", "displayWhitespace", "alwaysCollapseLeftSidebar", "alwaysCollapseRightSidebar", "defaultFlavor", "showWarningUnsavedProgress"],
            hP = {
                leave: aP.a.saveLeave,
                leaveActive: aP.a.saveLeaveActive
            },
            dP = Object(Wt.a)(Kt.a.defaultSpeed),
            mP = Object(We.b)(function(e) {
                return {
                    maxExecutionTime: e.settings.maxExecutionTime,
                    theme: e.settings.theme,
                    nonParticipatingGroups: e.settings.nonParticipatingGroups,
                    colorizeSyntax: e.settings.colorizeSyntax,
                    autoComplete: e.settings.autoComplete,
                    wrapLines: e.settings.wrapLines,
                    regexAreaLineNumbers: e.settings.regexAreaLineNumbers,
                    testAreaLineNumbers: e.settings.testAreaLineNumbers,
                    language: e.settings.language,
                    editorTooltips: e.settings.editorTooltips,
                    displayWhitespace: e.settings.displayWhitespace,
                    alwaysCollapseLeftSidebar: e.settings.alwaysCollapseLeftSidebar,
                    alwaysCollapseRightSidebar: e.settings.alwaysCollapseRightSidebar,
                    defaultFlavor: e.settings.defaultFlavor,
                    showWarningUnsavedProgress: e.settings.showWarningUnsavedProgress
                }
            })((nP = tP = function(e) {
                function t() {
                    var e, n;
                    ! function(e, t) {
                        if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function")
                    }(this, t);
                    for (var r = arguments.length, o = new Array(r), a = 0; a < r; a++) o[a] = arguments[a];
                    return (n = uP(this, (e = lP(t)).call.apply(e, [this].concat(o)))).state = Object.assign(N.a.pick(n.props, bP), {
                        showSave: !1
                    }), n._timeout = null, n
                }
                var n, r, i;
                return function(e, t) {
                    if ("function" !== typeof t && null !== t) throw new TypeError("Super expression must either be null or a function");
                    e.prototype = Object.create(t && t.prototype, {
                        constructor: {
                            value: e,
                            writable: !0,
                            configurable: !0
                        }
                    }), t && pP(e, t)
                }(t, o["Component"]), n = t, (r = [{
                    key: "componentWillReceiveProps",
                    value: function(e) {
                        var t = this.state.showSave || !1;
                        this.setState(Object.assign(N.a.pick(e, bP), {
                            showSave: t
                        }))
                    }
                }, {
                    key: "componentWillUnmount",
                    value: function() {
                        clearTimeout(this._timeout)
                    }
                }, {
                    key: "onSettingChange",
                    value: function(e, t) {
                        var n, r;
                        null == e.target.checked ? (r = e.target.value, /^\d+$/.test(r) && (r = parseInt(r, 10))) : r = e.target.checked, this.setState((sP(n = {}, t, r), sP(n, "showSave", !0), n), this._saveSettings)
                    }
                }, {
                    key: "_saveSettings",
                    value: function() {
                        this.props.dispatch(Object(ne.N)(this.state)), this.props.dispatch(Object(ne.r)()), this.state.language !== this.props.language ? this.props.dispatch(Object(ne.cb)(this.state.language)).catch(this._clearSavedText) : this._clearSavedText()
                    }
                }, {
                    key: "_clearSavedText",
                    value: function() {
                        var e = this;
                        clearTimeout(this._timeout), this._timeout = setTimeout(function() {
                            return e.setState({
                                showSave: !1
                            })
                        }, 300)
                    }
                }, {
                    key: "render",
                    value: function() {
                        var e = this,
                            t = this.state,
                            n = t.maxExecutionTime,
                            r = t.theme,
                            o = t.nonParticipatingGroups,
                            i = t.colorizeSyntax,
                            s = t.autoComplete,
                            c = t.wrapLines,
                            u = t.regexAreaLineNumbers,
                            l = t.testAreaLineNumbers,
                            p = t.language,
                            f = t.editorTooltips,
                            y = t.displayWhitespace,
                            b = t.alwaysCollapseLeftSidebar,
                            h = t.alwaysCollapseRightSidebar,
                            d = t.defaultFlavor,
                            m = t.showSave,
                            g = t.showWarningUnsavedProgress;
                        return a.a.createElement("div", {
                            className: aP.a.root
                        }, a.a.createElement($e.w, {
                            transitionAppear: !1,
                            transitionEnter: !1,
                            transitionName: hP,
                            transitionLeaveTimeout: dP
                        }, m && a.a.createElement("div", {
                            className: aP.a.saveIndicator
                        }, Object(Ke.a)("Saved settings"))), a.a.createElement(rP, {
                            title: Object(Ke.a)("General")
                        }, a.a.createElement(lv, null, Object(Ke.a)("Language"), a.a.createElement("select", {
                            defaultValue: p,
                            onChange: function(t) {
                                return e.onSettingChange(t, "language")
                            }
                        }, Object.keys(qe.a).sort().map(function(e) {
                            return a.a.createElement("option", {
                                key: "language-".concat(e),
                                value: e
                            }, qe.a[e].text)
                        }))), a.a.createElement(lv, null, a.a.createElement("input", {
                            type: "checkbox",
                            checked: o,
                            onChange: function(t) {
                                return e.onSettingChange(t, "nonParticipatingGroups")
                            }
                        }), Object(Ke.a)("Include non-participating groups in match result"), a.a.createElement($e.o, null, Object(Ke.a)("This setting determines whether groups in your regex, which did not match anything in the subject string, should be included in the results or not."))), a.a.createElement(lv, null, Object(Ke.a)("Max Execution Time"), a.a.createElement("select", {
                            defaultValue: n,
                            onChange: function(t) {
                                return e.onSettingChange(t, "maxExecutionTime")
                            }
                        }, yP.map(function(e) {
                            return a.a.createElement("option", {
                                key: "max-time-".concat(e),
                                value: e
                            }, e > 1e3 ? "".concat(e / 1e3, "s") : "".concat(e, "ms"))
                        })), a.a.createElement($e.o, null, Object(Ke.a)("This setting affects how long the matcher will try to match your regex before it decides to give up.")), n < 1500 && a.a.createElement($e.o, {
                            type: HC.WARN
                        }, Object(Ke.a)("Values below {1} are not recommended. Use at your own discretion.", "1.5s"))), a.a.createElement(lv, null, a.a.createElement("input", {
                            type: "checkbox",
                            checked: b,
                            onChange: function(t) {
                                return e.onSettingChange(t, "alwaysCollapseLeftSidebar")
                            }
                        }), Object(Ke.a)("Always collapse left sidebar")), a.a.createElement(lv, null, a.a.createElement("input", {
                            type: "checkbox",
                            checked: h,
                            onChange: function(t) {
                                return e.onSettingChange(t, "alwaysCollapseRightSidebar")
                            }
                        }), Object(Ke.a)("Always collapse right sidebar")), a.a.createElement(lv, null, Object(Ke.a)("Default flavor"), a.a.createElement("select", {
                            defaultValue: d,
                            onChange: function(t) {
                                return e.onSettingChange(t, "defaultFlavor")
                            }
                        }, v.all.map(function(e) {
                            return a.a.createElement("option", {
                                key: "flavor-".concat(e),
                                value: e
                            }, e)
                        })), a.a.createElement($e.o, null, Object(Ke.a)("Select the flavor you want to use when the site loads. Note: a saved entry's flavor will override this."))), a.a.createElement(lv, null, a.a.createElement("input", {
                            type: "checkbox",
                            checked: g,
                            onChange: function(t) {
                                return e.onSettingChange(t, "showWarningUnsavedProgress")
                            }
                        }), Object(Ke.a)("Show warning popup when trying to leave site with unsaved data"))), a.a.createElement(rP, {
                            title: Object(Ke.a)("Theme")
                        }, a.a.createElement(lv, null, Object(Ke.a)("Style"), a.a.createElement("select", {
                            defaultValue: r,
                            className: Je()(aP.a.theme, aP.a.setting),
                            onChange: function(t) {
                                return e.onSettingChange(t, "theme")
                            }
                        }, a.a.createElement("option", {
                            value: x
                        }, Object(Ke.a)("Light")), a.a.createElement("option", {
                            value: "dark"
                        }, Object(Ke.a)("Dark"))), a.a.createElement($e.o, null, Object(Ke.a)("This setting adjusts the site-wide theme.")))), a.a.createElement(rP, {
                            title: Object(Ke.a)("Editor")
                        }, a.a.createElement(lv, null, a.a.createElement("input", {
                            type: "checkbox",
                            checked: i,
                            onChange: function(t) {
                                return e.onSettingChange(t, "colorizeSyntax")
                            }
                        }), Object(Ke.a)("Highlight Syntax"), a.a.createElement($e.o, null, Object(Ke.a)("Enable or disable the syntax highlighting of your regular expression in the editor."))), a.a.createElement(lv, null, a.a.createElement("input", {
                            type: "checkbox",
                            checked: s,
                            onChange: function(t) {
                                return e.onSettingChange(t, "autoComplete")
                            }
                        }), Object(Ke.a)("Auto-complete Brackets")), a.a.createElement(lv, null, a.a.createElement("input", {
                            type: "checkbox",
                            checked: c,
                            onChange: function(t) {
                                return e.onSettingChange(t, "wrapLines")
                            }
                        }), Object(Ke.a)("Wrap Long Lines")), a.a.createElement(lv, null, a.a.createElement("input", {
                            type: "checkbox",
                            checked: u,
                            onChange: function(t) {
                                return e.onSettingChange(t, "regexAreaLineNumbers")
                            }
                        }), Object(Ke.a)("Show Line Numbers in Regex Editor")), a.a.createElement(lv, null, a.a.createElement("input", {
                            type: "checkbox",
                            checked: l,
                            onChange: function(t) {
                                return e.onSettingChange(t, "testAreaLineNumbers")
                            }
                        }), Object(Ke.a)("Show Line Numbers in Test String Editor and Substitution Result")), a.a.createElement(lv, null, a.a.createElement("input", {
                            type: "checkbox",
                            checked: f,
                            onChange: function(t) {
                                return e.onSettingChange(t, "editorTooltips")
                            }
                        }), Object(Ke.a)("Show tooltips"), a.a.createElement($e.o, null, Object(Ke.a)("Show informative and helpful tooltips when hovering tokens in the regex editor"))), a.a.createElement(lv, null, a.a.createElement("input", {
                            type: "checkbox",
                            checked: y,
                            onChange: function(t) {
                                return e.onSettingChange(t, "displayWhitespace")
                            }
                        }), Object(Ke.a)("Show Whitespace"))))
                    }
                }]) && cP(n.prototype, r), i && cP(n, i), t
            }(), tP.propTypes = {
                maxExecutionTime: He.a.number.isRequired,
                theme: He.a.oneOf(C).isRequired,
                nonParticipatingGroups: He.a.bool.isRequired,
                colorizeSyntax: He.a.bool.isRequired,
                autoComplete: He.a.bool.isRequired,
                wrapLines: He.a.bool.isRequired,
                regexAreaLineNumbers: He.a.bool.isRequired,
                testAreaLineNumbers: He.a.bool.isRequired,
                dispatch: He.a.func.isRequired,
                language: He.a.string.isRequired,
                editorTooltips: He.a.bool.isRequired,
                displayWhitespace: He.a.bool.isRequired,
                alwaysCollapseLeftSidebar: He.a.bool.isRequired,
                alwaysCollapseRightSidebar: He.a.bool.isRequired,
                defaultFlavor: He.a.string.isRequired,
                showWarningUnsavedProgress: He.a.bool.isRequired
            }, fP((eP = nP).prototype, "onSettingChange", [vt.a], Object.getOwnPropertyDescriptor(eP.prototype, "onSettingChange"), eP.prototype), fP(eP.prototype, "_saveSettings", [vt.a], Object.getOwnPropertyDescriptor(eP.prototype, "_saveSettings"), eP.prototype), fP(eP.prototype, "_clearSavedText", [vt.a], Object.getOwnPropertyDescriptor(eP.prototype, "_clearSavedText"), eP.prototype), ZC = eP)) || ZC,
            gP = n("./app/js/components/AccountPage/TitleRow.css"),
            vP = n.n(gP);

        function _P(e) {
            return (_P = "function" === typeof Symbol && "symbol" === typeof Symbol.iterator ? function(e) {
                return typeof e
            } : function(e) {
                return e && "function" === typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e
            })(e)
        }

        function OP(e, t) {
            for (var n = 0; n < t.length; n++) {
                var r = t[n];
                r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(e, r.key, r)
            }
        }

        function jP(e, t) {
            return !t || "object" !== _P(t) && "function" !== typeof t ? function(e) {
                if (void 0 === e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
                return e
            }(e) : t
        }

        function wP(e) {
            return (wP = Object.setPrototypeOf ? Object.getPrototypeOf : function(e) {
                return e.__proto__ || Object.getPrototypeOf(e)
            })(e)
        }

        function kP(e, t) {
            return (kP = Object.setPrototypeOf || function(e, t) {
                return e.__proto__ = t, e
            })(e, t)
        }
        var EP = function(e) {
            function t() {
                return function(e, t) {
                    if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function")
                }(this, t), jP(this, wP(t).apply(this, arguments))
            }
            var n, r, i;
            return function(e, t) {
                if ("function" !== typeof t && null !== t) throw new TypeError("Super expression must either be null or a function");
                e.prototype = Object.create(t && t.prototype, {
                    constructor: {
                        value: e,
                        writable: !0,
                        configurable: !0
                    }
                }), t && kP(e, t)
            }(t, o["PureComponent"]), n = t, (r = [{
                key: "render",
                value: function() {
                    var e, t = this.props,
                        n = t.title,
                        r = t.permalinkFragment,
                        o = t.version,
                        i = t.flavor;
                    return e = null != n && n.length > 0 ? a.a.createElement("span", null, a.a.createElement("strong", {
                        className: vP.a.title
                    }, n), " (", r, "/", o, ")") : "".concat(r, "/").concat(o), a.a.createElement("div", {
                        className: vP.a.root
                    }, a.a.createElement($e.l, {
                        to: Object(sn.a)(r, o),
                        className: vP.a.link,
                        absolute: !0
                    }, e), a.a.createElement("div", {
                        className: vP.a.flavor
                    }, i))
                }
            }]) && OP(n.prototype, r), i && OP(n, i), t
        }();
        EP.propTypes = {
            title: He.a.string,
            permalinkFragment: He.a.string.isRequired,
            version: He.a.number.isRequired,
            flavor: He.a.string.isRequired
        };
        var SP, xP, CP, PP = EP,
            TP = n("./app/js/components/Modal/AccountEditModal/AccountItemModal.css"),
            RP = n.n(TP);

        function NP(e) {
            return (NP = "function" === typeof Symbol && "symbol" === typeof Symbol.iterator ? function(e) {
                return typeof e
            } : function(e) {
                return e && "function" === typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e
            })(e)
        }

        function MP(e, t) {
            for (var n = 0; n < t.length; n++) {
                var r = t[n];
                r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(e, r.key, r)
            }
        }

        function AP(e, t) {
            return !t || "object" !== NP(t) && "function" !== typeof t ? function(e) {
                if (void 0 === e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
                return e
            }(e) : t
        }

        function IP(e) {
            return (IP = Object.setPrototypeOf ? Object.getPrototypeOf : function(e) {
                return e.__proto__ || Object.getPrototypeOf(e)
            })(e)
        }

        function LP(e, t) {
            return (LP = Object.setPrototypeOf || function(e, t) {
                return e.__proto__ = t, e
            })(e, t)
        }

        function DP(e, t, n, r, o) {
            var a = {};
            return Object.keys(r).forEach(function(e) {
                a[e] = r[e]
            }), a.enumerable = !!a.enumerable, a.configurable = !!a.configurable, ("value" in a || a.initializer) && (a.writable = !0), a = n.slice().reverse().reduce(function(n, r) {
                return r(e, t, n) || n
            }, a), o && void 0 !== a.initializer && (a.value = a.initializer ? a.initializer.call(o) : void 0, a.initializer = void 0), void 0 === a.initializer && (Object.defineProperty(e, t, a), a = null), a
        }
        var qP, FP, zP, GP, BP = (CP = xP = function(e) {
                function t() {
                    var e, n;
                    ! function(e, t) {
                        if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function")
                    }(this, t);
                    for (var r = arguments.length, o = new Array(r), a = 0; a < r; a++) o[a] = arguments[a];
                    return (n = AP(this, (e = IP(t)).call.apply(e, [this].concat(o))))._newTags = n.props.tags, n._newTitle = n.props.title, n
                }
                var n, r, i;
                return function(e, t) {
                    if ("function" !== typeof t && null !== t) throw new TypeError("Super expression must either be null or a function");
                    e.prototype = Object.create(t && t.prototype, {
                        constructor: {
                            value: e,
                            writable: !0,
                            configurable: !0
                        }
                    }), t && LP(e, t)
                }(t, o["Component"]), n = t, (r = [{
                    key: "onSaveItemClick",
                    value: function() {
                        var e = this.props,
                            t = e.dispatch,
                            n = e.historyItemIndex,
                            r = e.permalinkFragment,
                            o = e.version,
                            a = e.onModalClose;
                        t(Object(ne.K)(this._newTags, n, r, o)), t(Object(ne.L)(this._newTitle, n, r, o)), a()
                    }
                }, {
                    key: "onTagsChange",
                    value: function(e) {
                        this._newTags = e
                    }
                }, {
                    key: "onTitleChange",
                    value: function(e) {
                        this._newTitle = e
                    }
                }, {
                    key: "render",
                    value: function() {
                        var e = this.props,
                            t = e.onModalClose,
                            n = e.isOpen,
                            r = e.title,
                            o = e.tags;
                        return a.a.createElement(qo, {
                            onModalClose: t,
                            isOpen: n
                        }, a.a.createElement(Ho, {
                            titleIcon: "edit"
                        }, Object(Ke.a)("Edit account entry")), a.a.createElement(Jo, null, a.a.createElement(Ha, {
                            title: r,
                            tags: o,
                            onTagsChange: this.onTagsChange,
                            onTitleChange: this.onTitleChange
                        })), a.a.createElement(aa, null, a.a.createElement($e.a, {
                            text: Object(Ke.a)("Save"),
                            onClick: this.onSaveItemClick,
                            className: RP.a.saveButton
                        }), a.a.createElement($e.a, {
                            text: Object(Ke.a)("Close"),
                            onClick: t,
                            type: Ot.e.CANCEL
                        })))
                    }
                }]) && MP(n.prototype, r), i && MP(n, i), t
            }(), xP.propTypes = {
                dispatch: He.a.func.isRequired,
                onModalClose: He.a.func.isRequired,
                isOpen: He.a.bool.isRequired,
                title: He.a.string,
                tags: He.a.array,
                historyItemIndex: He.a.number.isRequired,
                permalinkFragment: He.a.string.isRequired,
                version: He.a.number.isRequired
            }, xP.defaultProps = {
                tags: []
            }, DP((SP = CP).prototype, "onSaveItemClick", [vt.a], Object.getOwnPropertyDescriptor(SP.prototype, "onSaveItemClick"), SP.prototype), DP(SP.prototype, "onTagsChange", [vt.a], Object.getOwnPropertyDescriptor(SP.prototype, "onTagsChange"), SP.prototype), DP(SP.prototype, "onTitleChange", [vt.a], Object.getOwnPropertyDescriptor(SP.prototype, "onTitleChange"), SP.prototype), SP),
            UP = n("./app/js/components/AccountPage/Toolbar.css"),
            HP = n.n(UP);

        function WP(e) {
            return (WP = "function" === typeof Symbol && "symbol" === typeof Symbol.iterator ? function(e) {
                return typeof e
            } : function(e) {
                return e && "function" === typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e
            })(e)
        }

        function VP() {
            return (VP = Object.assign || function(e) {
                for (var t = 1; t < arguments.length; t++) {
                    var n = arguments[t];
                    for (var r in n) Object.prototype.hasOwnProperty.call(n, r) && (e[r] = n[r])
                }
                return e
            }).apply(this, arguments)
        }

        function KP(e, t) {
            for (var n = 0; n < t.length; n++) {
                var r = t[n];
                r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(e, r.key, r)
            }
        }

        function $P(e, t) {
            return !t || "object" !== WP(t) && "function" !== typeof t ? function(e) {
                if (void 0 === e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
                return e
            }(e) : t
        }

        function YP(e) {
            return (YP = Object.setPrototypeOf ? Object.getPrototypeOf : function(e) {
                return e.__proto__ || Object.getPrototypeOf(e)
            })(e)
        }

        function JP(e, t) {
            return (JP = Object.setPrototypeOf || function(e, t) {
                return e.__proto__ = t, e
            })(e, t)
        }

        function QP(e, t, n, r, o) {
            var a = {};
            return Object.keys(r).forEach(function(e) {
                a[e] = r[e]
            }), a.enumerable = !!a.enumerable, a.configurable = !!a.configurable, ("value" in a || a.initializer) && (a.writable = !0), a = n.slice().reverse().reduce(function(n, r) {
                return r(e, t, n) || n
            }, a), o && void 0 !== a.initializer && (a.value = a.initializer ? a.initializer.call(o) : void 0, a.initializer = void 0), void 0 === a.initializer && (Object.defineProperty(e, t, a), a = null), a
        }
        var XP = Object(We.b)(function(e) {
                return {
                    currentPermalinkFragment: e.general.permalinkFragment,
                    currentVersion: e.general.version
                }
            })((GP = zP = function(e) {
                function t() {
                    var e, n;
                    ! function(e, t) {
                        if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function")
                    }(this, t);
                    for (var r = arguments.length, o = new Array(r), a = 0; a < r; a++) o[a] = arguments[a];
                    return (n = $P(this, (e = YP(t)).call.apply(e, [this].concat(o)))).state = {
                        showEditModal: !1,
                        showConfirmDeleteModal: !1
                    }, n
                }
                var n, r, i;
                return function(e, t) {
                    if ("function" !== typeof t && null !== t) throw new TypeError("Super expression must either be null or a function");
                    e.prototype = Object.create(t && t.prototype, {
                        constructor: {
                            value: e,
                            writable: !0,
                            configurable: !0
                        }
                    }), t && JP(e, t)
                }(t, o["PureComponent"]), n = t, (r = [{
                    key: "onFavoriteClick",
                    value: function() {
                        var e = this.props,
                            t = e.dispatch,
                            n = e.permalinkFragment,
                            r = e.version,
                            o = e.isFavorite,
                            a = e.historyItemIndex,
                            i = e.currentPermalinkFragment,
                            s = e.currentVersion;
                        t(ne.E(n, r, !o)).then(function() {
                            t(ne.s(a, !o)), null != i && i === n && s === r && t(ne.f(!o))
                        })
                    }
                }, {
                    key: "onPrivateClick",
                    value: function() {
                        var e = this.props,
                            t = e.dispatch,
                            n = e.permalinkFragment,
                            r = e.isPrivate,
                            o = e.fetchData;
                        t(ne.I(n, !r)).then(function() {
                            o()
                        })
                    }
                }, {
                    key: "onLockClick",
                    value: function() {
                        var e = this.props,
                            t = e.dispatch,
                            n = e.permalinkFragment,
                            r = e.isLocked,
                            o = e.fetchData;
                        t(ne.H(n, !r)).then(function() {
                            o()
                        })
                    }
                }, {
                    key: "onEditTitleClick",
                    value: function() {
                        this.setState({
                            showEditModal: !0
                        })
                    }
                }, {
                    key: "onEditModalClose",
                    value: function() {
                        this.setState({
                            showEditModal: !1
                        })
                    }
                }, {
                    key: "onDeleteClick",
                    value: function() {
                        this.setState({
                            showConfirmDeleteModal: !0
                        })
                    }
                }, {
                    key: "onConfirmDeleteModalClose",
                    value: function() {
                        this.setState({
                            showConfirmDeleteModal: !1
                        })
                    }
                }, {
                    key: "onConfirmDeleteModalClick",
                    value: function() {
                        this.onConfirmDeleteModalClose();
                        var e = this.props,
                            t = e.dispatch,
                            n = e.deleteCode,
                            r = e.fetchData,
                            o = e.permalinkFragment,
                            a = e.currentPermalinkFragment;
                        t(ne.c(o, n)).then(function() {
                            a === o && t(ne.A(null, null, null)), r()
                        })
                    }
                }, {
                    key: "render",
                    value: function() {
                        var e = this.props,
                            t = e.isOwner,
                            n = e.dateAdded,
                            r = e.isFavorite,
                            o = e.isPrivate,
                            i = e.isLocked,
                            s = e.deleteCode,
                            c = e.isLibraryEntry,
                            u = 0 === e.historyItemIndex ? Ot.b.SE : Ot.b.NE;
                        return a.a.createElement("div", {
                            className: HP.a.root
                        }, a.a.createElement("div", {
                            className: HP.a.icons
                        }, a.a.createElement($e.v, {
                            text: r ? Object(Ke.a)("Remove from favorites") : Object(Ke.a)("Add to favorites"),
                            className: HP.a.tooltip,
                            direction: u
                        }, a.a.createElement($e.i, {
                            icon: "heart",
                            className: Je()(HP.a.icon, HP.a.isFavorite, r && HP.a.fill),
                            onClick: this.onFavoriteClick
                        })), a.a.createElement($e.v, {
                            text: Object(Ke.a)("Edit title and tags"),
                            className: HP.a.tooltip,
                            direction: u
                        }, a.a.createElement($e.i, {
                            icon: "pencil",
                            className: Je()(HP.a.icon, HP.a.title),
                            onClick: this.onEditTitleClick
                        })), t && !c && a.a.createElement($e.v, {
                            text: o ? Object(Ke.a)("Make permalink public") : Object(Ke.a)("Make permalink private"),
                            className: HP.a.tooltip,
                            direction: u
                        }, a.a.createElement($e.i, {
                            icon: "user-secret",
                            className: Je()(HP.a.icon, HP.a.isPrivate, o && HP.a.fill),
                            onClick: this.onPrivateClick
                        })), t && a.a.createElement($e.v, {
                            text: i ? Object(Ke.a)("Allow others to edit permalink") : Object(Ke.a)("Disallow others to edit permalink"),
                            className: HP.a.tooltip,
                            direction: u
                        }, a.a.createElement($e.i, {
                            icon: "lock",
                            className: Je()(HP.a.icon, HP.a.isLocked, i && HP.a.fill),
                            onClick: this.onLockClick
                        })), !!s && a.a.createElement($e.v, {
                            text: c ? Object(Ke.a)("Delete library entry") : Object(Ke.a)("Delete permalink"),
                            className: HP.a.tooltip,
                            direction: u
                        }, a.a.createElement($e.i, {
                            icon: "trash",
                            className: Je()(HP.a.icon, HP.a.delete),
                            onClick: this.onDeleteClick
                        }))), a.a.createElement("div", {
                            className: HP.a.date
                        }, Sx()(n).format("YYYY-MM-DD HH:mm")), a.a.createElement(BP, VP({
                            isOpen: this.state.showEditModal,
                            onModalClose: this.onEditModalClose
                        }, this.props)), a.a.createElement(_u, {
                            isOpen: this.state.showConfirmDeleteModal,
                            onModalClose: this.onConfirmDeleteModalClose,
                            onConfirmClick: this.onConfirmDeleteModalClick
                        }))
                    }
                }]) && KP(n.prototype, r), i && KP(n, i), t
            }(), zP.propTypes = {
                dispatch: He.a.func.isRequired,
                dateAdded: He.a.string.isRequired,
                isFavorite: He.a.bool.isRequired,
                isPrivate: He.a.bool.isRequired,
                isOwner: He.a.bool.isRequired,
                title: He.a.string,
                tags: He.a.array,
                permalinkFragment: He.a.string.isRequired,
                version: He.a.number.isRequired,
                historyItemIndex: He.a.number.isRequired,
                deleteCode: He.a.string,
                fetchData: He.a.func.isRequired,
                currentPermalinkFragment: He.a.string,
                currentVersion: He.a.number,
                isLibraryEntry: He.a.bool.isRequired,
                isLocked: He.a.bool.isRequired
            }, QP((FP = GP).prototype, "onFavoriteClick", [vt.a], Object.getOwnPropertyDescriptor(FP.prototype, "onFavoriteClick"), FP.prototype), QP(FP.prototype, "onPrivateClick", [vt.a], Object.getOwnPropertyDescriptor(FP.prototype, "onPrivateClick"), FP.prototype), QP(FP.prototype, "onLockClick", [vt.a], Object.getOwnPropertyDescriptor(FP.prototype, "onLockClick"), FP.prototype), QP(FP.prototype, "onEditTitleClick", [vt.a], Object.getOwnPropertyDescriptor(FP.prototype, "onEditTitleClick"), FP.prototype), QP(FP.prototype, "onEditModalClose", [vt.a], Object.getOwnPropertyDescriptor(FP.prototype, "onEditModalClose"), FP.prototype), QP(FP.prototype, "onDeleteClick", [vt.a], Object.getOwnPropertyDescriptor(FP.prototype, "onDeleteClick"), FP.prototype), QP(FP.prototype, "onConfirmDeleteModalClose", [vt.a], Object.getOwnPropertyDescriptor(FP.prototype, "onConfirmDeleteModalClose"), FP.prototype), QP(FP.prototype, "onConfirmDeleteModalClick", [vt.a], Object.getOwnPropertyDescriptor(FP.prototype, "onConfirmDeleteModalClick"), FP.prototype), qP = FP)) || qP,
            ZP = n("./app/js/components/AccountPage/UserDataItem.css"),
            eT = n.n(ZP);

        function tT(e) {
            return (tT = "function" === typeof Symbol && "symbol" === typeof Symbol.iterator ? function(e) {
                return typeof e
            } : function(e) {
                return e && "function" === typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e
            })(e)
        }

        function nT() {
            return (nT = Object.assign || function(e) {
                for (var t = 1; t < arguments.length; t++) {
                    var n = arguments[t];
                    for (var r in n) Object.prototype.hasOwnProperty.call(n, r) && (e[r] = n[r])
                }
                return e
            }).apply(this, arguments)
        }

        function rT(e, t) {
            for (var n = 0; n < t.length; n++) {
                var r = t[n];
                r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(e, r.key, r)
            }
        }

        function oT(e, t) {
            return !t || "object" !== tT(t) && "function" !== typeof t ? function(e) {
                if (void 0 === e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
                return e
            }(e) : t
        }

        function aT(e) {
            return (aT = Object.setPrototypeOf ? Object.getPrototypeOf : function(e) {
                return e.__proto__ || Object.getPrototypeOf(e)
            })(e)
        }

        function iT(e, t) {
            return (iT = Object.setPrototypeOf || function(e, t) {
                return e.__proto__ = t, e
            })(e, t)
        }
        var sT = function(e) {
            function t() {
                return function(e, t) {
                    if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function")
                }(this, t), oT(this, aT(t).apply(this, arguments))
            }
            var n, r, i;
            return function(e, t) {
                if ("function" !== typeof t && null !== t) throw new TypeError("Super expression must either be null or a function");
                e.prototype = Object.create(t && t.prototype, {
                    constructor: {
                        value: e,
                        writable: !0,
                        configurable: !0
                    }
                }), t && iT(e, t)
            }(t, o["PureComponent"]), n = t, (r = [{
                key: "render",
                value: function() {
                    var e = this.props.item,
                        t = e.permalinkFragment,
                        n = e.version,
                        r = e.title,
                        o = e.flavor,
                        i = e.tags,
                        s = this.props,
                        c = s.fetchData,
                        u = s.historyItemIndex,
                        l = s.item;
                    return a.a.createElement("div", {
                        className: eT.a.root
                    }, a.a.createElement(XP, nT({
                        fetchData: c,
                        historyItemIndex: u
                    }, l)), a.a.createElement(PP, {
                        permalinkFragment: t,
                        version: n,
                        title: r,
                        flavor: o
                    }), a.a.createElement(Ra, {
                        className: eT.a.tagList,
                        tags: i,
                        size: Ot.d.SMALL,
                        ignoreEmpty: !0
                    }))
                }
            }]) && rT(n.prototype, r), i && rT(n, i), t
        }();
        sT.propTypes = {
            item: He.a.shape({
                permalinkFragment: He.a.string.isRequired,
                regex: He.a.string.isRequired,
                flavor: He.a.string.isRequired,
                delimiter: He.a.string.isRequired,
                flags: He.a.string.isRequired,
                isPrivate: He.a.bool.isRequired,
                isFavorite: He.a.bool.isRequired,
                isOwner: He.a.bool.isRequired,
                dateAdded: He.a.string.isRequired,
                version: He.a.number.isRequired,
                title: He.a.string,
                tags: He.a.array,
                deleteCode: He.a.string,
                isLibraryEntry: He.a.bool.isRequired,
                isLocked: He.a.bool.isRequired
            }).isRequired,
            historyItemIndex: He.a.number.isRequired,
            fetchData: He.a.func.isRequired
        };
        var cT, uT, lT, pT, fT = sT,
            yT = n("./app/js/components/AccountPage/UserData.css"),
            bT = n.n(yT);

        function hT(e) {
            return (hT = "function" === typeof Symbol && "symbol" === typeof Symbol.iterator ? function(e) {
                return typeof e
            } : function(e) {
                return e && "function" === typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e
            })(e)
        }

        function dT(e, t) {
            if (null == e) return {};
            var n, r, o = function(e, t) {
                if (null == e) return {};
                var n, r, o = {},
                    a = Object.keys(e);
                for (r = 0; r < a.length; r++) n = a[r], t.indexOf(n) >= 0 || (o[n] = e[n]);
                return o
            }(e, t);
            if (Object.getOwnPropertySymbols) {
                var a = Object.getOwnPropertySymbols(e);
                for (r = 0; r < a.length; r++) n = a[r], t.indexOf(n) >= 0 || Object.prototype.propertyIsEnumerable.call(e, n) && (o[n] = e[n])
            }
            return o
        }

        function mT(e, t) {
            for (var n = 0; n < t.length; n++) {
                var r = t[n];
                r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(e, r.key, r)
            }
        }

        function gT(e, t) {
            return !t || "object" !== hT(t) && "function" !== typeof t ? function(e) {
                if (void 0 === e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
                return e
            }(e) : t
        }

        function vT(e) {
            return (vT = Object.setPrototypeOf ? Object.getPrototypeOf : function(e) {
                return e.__proto__ || Object.getPrototypeOf(e)
            })(e)
        }

        function _T(e, t) {
            return (_T = Object.setPrototypeOf || function(e, t) {
                return e.__proto__ = t, e
            })(e, t)
        }

        function OT(e, t, n, r, o) {
            var a = {};
            return Object.keys(r).forEach(function(e) {
                a[e] = r[e]
            }), a.enumerable = !!a.enumerable, a.configurable = !!a.configurable, ("value" in a || a.initializer) && (a.writable = !0), a = n.slice().reverse().reduce(function(n, r) {
                return r(e, t, n) || n
            }, a), o && void 0 !== a.initializer && (a.value = a.initializer ? a.initializer.call(o) : void 0, a.initializer = void 0), void 0 === a.initializer && (Object.defineProperty(e, t, a), a = null), a
        }
        var jT = Object(We.b)(function(e) {
            return {
                userData: e.account.data,
                pages: e.account.pages,
                userId: e.general.userId
            }
        })(cT = Object(vt.c)(function(e) {
            var t = an.a.parse(e.location.search);
            return {
                fetchUserData: null != e.userId ? Object(ne.i)(e.scope, t.page, t.filterTags) : null
            }
        })((pT = lT = function(e) {
            function t() {
                return function(e, t) {
                    if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function")
                }(this, t), gT(this, vT(t).apply(this, arguments))
            }
            var n, r, i;
            return function(e, t) {
                if ("function" !== typeof t && null !== t) throw new TypeError("Super expression must either be null or a function");
                e.prototype = Object.create(t && t.prototype, {
                    constructor: {
                        value: e,
                        writable: !0,
                        configurable: !0
                    }
                }), t && _T(e, t)
            }(t, o["Component"]), n = t, (r = [{
                key: "componentWillReceiveProps",
                value: function(e) {
                    var t = an.a.parse(this.props.location.search),
                        n = t.filterTags,
                        r = void 0 === n ? [] : n,
                        o = dT(t, ["filterTags"]),
                        a = an.a.parse(e.location.search),
                        i = a.filterTags,
                        s = void 0 === i ? [] : i,
                        c = dT(a, ["filterTags"]);
                    null == e.userId || this.props.location.pathname === e.location.pathname && qS(o, c) && qS(r, s) || this.props.fetchData()
                }
            }, {
                key: "componentWillUnmount",
                value: function() {
                    var e = this.props,
                        t = e.userData,
                        n = e.pages;
                    this.props.dispatch(Object(ne.R)({
                        data: t,
                        pages: n,
                        allTags: []
                    }, !0))
                }
            }, {
                key: "_getEmptyResponseMessage",
                value: function() {
                    var e = an.a.parse(this.props.location.search).filterTags;
                    return N.a.isEmpty(e) ? this.props.emptyMessage : Object(Ke.a)("Your tag filtration returned no results.")
                }
            }, {
                key: "render",
                value: function() {
                    var e = this.props,
                        t = e.title,
                        n = e.pages,
                        r = e.fetchUserData,
                        o = e.location,
                        i = e.userId,
                        s = an.a.parse(o.search),
                        c = [].concat(s.filterTags || []);
                    return a.a.createElement("div", {
                        className: bT.a.root
                    }, a.a.createElement(KS, {
                        isVisible: r.isFetchingData
                    }), a.a.createElement("div", {
                        className: Je()(bT.a.container, r.isFetchingData && bT.a.isFetchingData)
                    }, a.a.createElement($e.k, {
                        text: null != i ? t : Object(Ke.a)("Account Page"),
                        className: bT.a.historyLabel
                    }), a.a.createElement(Ff, {
                        className: bT.a.historyContainer
                    }, this._renderUserData(c)), a.a.createElement(kx, {
                        className: bT.a.paginator,
                        currentPage: parseInt(s.page, 10) || void 0,
                        pages: n,
                        location: o
                    })))
                }
            }, {
                key: "_renderUserData",
                value: function(e) {
                    var t = this.props,
                        n = t.fetchUserData,
                        r = t.userData,
                        o = t.fetchData;
                    return null == t.userId ? "Please sign in by clicking the button in the left sidebar. By signing in, all your expressions will be automatically saved to your account and tracked. This allows you to delete, modify, organize and restrict them as you see fit whenever you want." : n.fetchError ? a.a.createElement($e.o, {
                        type: Ot.c.ERROR
                    }, Object(Ke.a)("There was an error while fetching your account data. Please try again later.")) : N.a.isEmpty(r) ? a.a.createElement($e.o, null, this._getEmptyResponseMessage()) : r.map(function(t, n) {
                        return a.a.createElement(fT, {
                            item: t,
                            filterTags: e,
                            historyItemIndex: n,
                            key: "user-data-item-".concat(n),
                            fetchData: o
                        })
                    })
                }
            }]) && mT(n.prototype, r), i && mT(n, i), t
        }(), lT.propTypes = {
            dispatch: He.a.func.isRequired,
            userData: He.a.array.isRequired,
            pages: He.a.number.isRequired,
            title: He.a.string.isRequired,
            scope: He.a.string.isRequired,
            emptyMessage: He.a.string.isRequired,
            location: He.a.object.isRequired,
            fetchUserData: He.a.object.isRequired,
            fetchData: He.a.func.isRequired,
            userId: He.a.number
        }, OT((uT = pT).prototype, "_getEmptyResponseMessage", [vt.a], Object.getOwnPropertyDescriptor(uT.prototype, "_getEmptyResponseMessage"), uT.prototype), OT(uT.prototype, "_renderUserData", [vt.a], Object.getOwnPropertyDescriptor(uT.prototype, "_renderUserData"), uT.prototype), cT = uT)) || cT) || cT;

        function wT(e) {
            return (wT = "function" === typeof Symbol && "symbol" === typeof Symbol.iterator ? function(e) {
                return typeof e
            } : function(e) {
                return e && "function" === typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e
            })(e)
        }

        function kT() {
            return (kT = Object.assign || function(e) {
                for (var t = 1; t < arguments.length; t++) {
                    var n = arguments[t];
                    for (var r in n) Object.prototype.hasOwnProperty.call(n, r) && (e[r] = n[r])
                }
                return e
            }).apply(this, arguments)
        }

        function ET(e, t) {
            for (var n = 0; n < t.length; n++) {
                var r = t[n];
                r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(e, r.key, r)
            }
        }

        function ST(e, t) {
            return !t || "object" !== wT(t) && "function" !== typeof t ? function(e) {
                if (void 0 === e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
                return e
            }(e) : t
        }

        function xT(e) {
            return (xT = Object.setPrototypeOf ? Object.getPrototypeOf : function(e) {
                return e.__proto__ || Object.getPrototypeOf(e)
            })(e)
        }

        function CT(e, t) {
            return (CT = Object.setPrototypeOf || function(e, t) {
                return e.__proto__ = t, e
            })(e, t)
        }
        var PT = function(e) {
            function t() {
                return function(e, t) {
                    if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function")
                }(this, t), ST(this, xT(t).apply(this, arguments))
            }
            var n, r, i;
            return function(e, t) {
                if ("function" !== typeof t && null !== t) throw new TypeError("Super expression must either be null or a function");
                e.prototype = Object.create(t && t.prototype, {
                    constructor: {
                        value: e,
                        writable: !0,
                        configurable: !0
                    }
                }), t && CT(e, t)
            }(t, o["Component"]), n = t, (r = [{
                key: "render",
                value: function() {
                    return a.a.createElement(jT, kT({
                        title: Object(Ke.a)("My History"),
                        scope: cl.a.ALL,
                        emptyMessage: Object(Ke.a)("Your history is empty.")
                    }, this.props))
                }
            }]) && ET(n.prototype, r), i && ET(n, i), t
        }();

        function TT(e) {
            return (TT = "function" === typeof Symbol && "symbol" === typeof Symbol.iterator ? function(e) {
                return typeof e
            } : function(e) {
                return e && "function" === typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e
            })(e)
        }

        function RT() {
            return (RT = Object.assign || function(e) {
                for (var t = 1; t < arguments.length; t++) {
                    var n = arguments[t];
                    for (var r in n) Object.prototype.hasOwnProperty.call(n, r) && (e[r] = n[r])
                }
                return e
            }).apply(this, arguments)
        }

        function NT(e, t) {
            for (var n = 0; n < t.length; n++) {
                var r = t[n];
                r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(e, r.key, r)
            }
        }

        function MT(e, t) {
            return !t || "object" !== TT(t) && "function" !== typeof t ? function(e) {
                if (void 0 === e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
                return e
            }(e) : t
        }

        function AT(e) {
            return (AT = Object.setPrototypeOf ? Object.getPrototypeOf : function(e) {
                return e.__proto__ || Object.getPrototypeOf(e)
            })(e)
        }

        function IT(e, t) {
            return (IT = Object.setPrototypeOf || function(e, t) {
                return e.__proto__ = t, e
            })(e, t)
        }
        var LT = function(e) {
            function t() {
                return function(e, t) {
                    if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function")
                }(this, t), MT(this, AT(t).apply(this, arguments))
            }
            var n, r, i;
            return function(e, t) {
                if ("function" !== typeof t && null !== t) throw new TypeError("Super expression must either be null or a function");
                e.prototype = Object.create(t && t.prototype, {
                    constructor: {
                        value: e,
                        writable: !0,
                        configurable: !0
                    }
                }), t && IT(e, t)
            }(t, o["Component"]), n = t, (r = [{
                key: "render",
                value: function() {
                    return a.a.createElement(jT, RT({
                        title: Object(Ke.a)("My Regular Expressions"),
                        scope: cl.a.MINE,
                        emptyMessage: Object(Ke.a)("You have not created anything yourself yet.")
                    }, this.props))
                }
            }]) && NT(n.prototype, r), i && NT(n, i), t
        }();

        function DT(e) {
            return (DT = "function" === typeof Symbol && "symbol" === typeof Symbol.iterator ? function(e) {
                return typeof e
            } : function(e) {
                return e && "function" === typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e
            })(e)
        }

        function qT() {
            return (qT = Object.assign || function(e) {
                for (var t = 1; t < arguments.length; t++) {
                    var n = arguments[t];
                    for (var r in n) Object.prototype.hasOwnProperty.call(n, r) && (e[r] = n[r])
                }
                return e
            }).apply(this, arguments)
        }

        function FT(e, t) {
            for (var n = 0; n < t.length; n++) {
                var r = t[n];
                r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(e, r.key, r)
            }
        }

        function zT(e, t) {
            return !t || "object" !== DT(t) && "function" !== typeof t ? function(e) {
                if (void 0 === e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
                return e
            }(e) : t
        }

        function GT(e) {
            return (GT = Object.setPrototypeOf ? Object.getPrototypeOf : function(e) {
                return e.__proto__ || Object.getPrototypeOf(e)
            })(e)
        }

        function BT(e, t) {
            return (BT = Object.setPrototypeOf || function(e, t) {
                return e.__proto__ = t, e
            })(e, t)
        }
        var UT = function(e) {
            function t() {
                return function(e, t) {
                    if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function")
                }(this, t), zT(this, GT(t).apply(this, arguments))
            }
            var n, r, i;
            return function(e, t) {
                if ("function" !== typeof t && null !== t) throw new TypeError("Super expression must either be null or a function");
                e.prototype = Object.create(t && t.prototype, {
                    constructor: {
                        value: e,
                        writable: !0,
                        configurable: !0
                    }
                }), t && BT(e, t)
            }(t, o["Component"]), n = t, (r = [{
                key: "render",
                value: function() {
                    return a.a.createElement(jT, qT({
                        title: Object(Ke.a)("My Favorites"),
                        scope: cl.a.FAVORITES,
                        emptyMessage: Object(Ke.a)("You have not added anything to your favorites yet.")
                    }, this.props))
                }
            }]) && FT(n.prototype, r), i && FT(n, i), t
        }();

        function HT(e) {
            return (HT = "function" === typeof Symbol && "symbol" === typeof Symbol.iterator ? function(e) {
                return typeof e
            } : function(e) {
                return e && "function" === typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e
            })(e)
        }

        function WT() {
            return (WT = Object.assign || function(e) {
                for (var t = 1; t < arguments.length; t++) {
                    var n = arguments[t];
                    for (var r in n) Object.prototype.hasOwnProperty.call(n, r) && (e[r] = n[r])
                }
                return e
            }).apply(this, arguments)
        }

        function VT(e, t) {
            for (var n = 0; n < t.length; n++) {
                var r = t[n];
                r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(e, r.key, r)
            }
        }

        function KT(e, t) {
            return !t || "object" !== HT(t) && "function" !== typeof t ? function(e) {
                if (void 0 === e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
                return e
            }(e) : t
        }

        function $T(e) {
            return ($T = Object.setPrototypeOf ? Object.getPrototypeOf : function(e) {
                return e.__proto__ || Object.getPrototypeOf(e)
            })(e)
        }

        function YT(e, t) {
            return (YT = Object.setPrototypeOf || function(e, t) {
                return e.__proto__ = t, e
            })(e, t)
        }
        var JT = function(e) {
                function t() {
                    return function(e, t) {
                        if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function")
                    }(this, t), KT(this, $T(t).apply(this, arguments))
                }
                var n, r, i;
                return function(e, t) {
                    if ("function" !== typeof t && null !== t) throw new TypeError("Super expression must either be null or a function");
                    e.prototype = Object.create(t && t.prototype, {
                        constructor: {
                            value: e,
                            writable: !0,
                            configurable: !0
                        }
                    }), t && YT(e, t)
                }(t, o["Component"]), n = t, (r = [{
                    key: "render",
                    value: function() {
                        return a.a.createElement(jT, WT({
                            title: Object(Ke.a)("My Library Entries"),
                            scope: cl.a.LIBRARY,
                            emptyMessage: Object(Ke.a)("You have not submitted anything to the library yet.")
                        }, this.props))
                    }
                }]) && VT(n.prototype, r), i && VT(n, i), t
            }(),
            QT = n("./app/js/components/AccountPage/AccountPage.css"),
            XT = n.n(QT);

        function ZT(e) {
            return (ZT = "function" === typeof Symbol && "symbol" === typeof Symbol.iterator ? function(e) {
                return typeof e
            } : function(e) {
                return e && "function" === typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e
            })(e)
        }

        function eR(e, t) {
            for (var n = 0; n < t.length; n++) {
                var r = t[n];
                r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(e, r.key, r)
            }
        }

        function tR(e, t) {
            return !t || "object" !== ZT(t) && "function" !== typeof t ? function(e) {
                if (void 0 === e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
                return e
            }(e) : t
        }

        function nR(e) {
            return (nR = Object.setPrototypeOf ? Object.getPrototypeOf : function(e) {
                return e.__proto__ || Object.getPrototypeOf(e)
            })(e)
        }

        function rR(e, t) {
            return (rR = Object.setPrototypeOf || function(e, t) {
                return e.__proto__ = t, e
            })(e, t)
        }
        var oR = function(e) {
            function t() {
                return function(e, t) {
                    if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function")
                }(this, t), tR(this, nR(t).apply(this, arguments))
            }
            var n, r, i;
            return function(e, t) {
                if ("function" !== typeof t && null !== t) throw new TypeError("Super expression must either be null or a function");
                e.prototype = Object.create(t && t.prototype, {
                    constructor: {
                        value: e,
                        writable: !0,
                        configurable: !0
                    }
                }), t && rR(e, t)
            }(t, o["PureComponent"]), n = t, (r = [{
                key: "render",
                value: function() {
                    var e = this.props,
                        t = e.match,
                        n = e.location,
                        r = Object.assign({}, n, {
                            pathname: "".concat(t.url, "/").concat(cl.a.ALL)
                        });
                    return a.a.createElement("div", {
                        className: XT.a.root
                    }, a.a.createElement(Ve.f, null, a.a.createElement(Ve.e, {
                        path: "".concat(t.path, "/").concat(cl.a.ALL),
                        exact: !0,
                        component: PT
                    }), a.a.createElement(Ve.e, {
                        path: "".concat(t.path, "/").concat(cl.a.MINE),
                        exact: !0,
                        component: LT
                    }), a.a.createElement(Ve.e, {
                        path: "".concat(t.path, "/").concat(cl.a.FAVORITES),
                        exact: !0,
                        component: UT
                    }), a.a.createElement(Ve.e, {
                        path: "".concat(t.path, "/").concat(cl.a.LIBRARY),
                        exact: !0,
                        component: JT
                    }), a.a.createElement(Ve.d, {
                        to: r
                    })))
                }
            }]) && eR(n.prototype, r), i && eR(n, i), t
        }();
        oR.propTypes = {
            location: He.a.object.isRequired,
            match: He.a.object
        };
        var aR = oR,
            iR = n("./app/js/actionCreator/actions/RegexEditor/setRegexFlags.js"),
            sR = n("./app/js/parsers/SubstitutionParser/SubstitutionParser.js"),
            cR = n("./app/js/components/RegexEditor/SubstitutionArea/SubstitutionInput.js");

        function uR(e) {
            return (uR = "function" === typeof Symbol && "symbol" === typeof Symbol.iterator ? function(e) {
                return typeof e
            } : function(e) {
                return e && "function" === typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e
            })(e)
        }

        function lR() {
            return (lR = Object.assign || function(e) {
                for (var t = 1; t < arguments.length; t++) {
                    var n = arguments[t];
                    for (var r in n) Object.prototype.hasOwnProperty.call(n, r) && (e[r] = n[r])
                }
                return e
            }).apply(this, arguments)
        }

        function pR(e, t) {
            for (var n = 0; n < t.length; n++) {
                var r = t[n];
                r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(e, r.key, r)
            }
        }

        function fR(e, t) {
            return !t || "object" !== uR(t) && "function" !== typeof t ? function(e) {
                if (void 0 === e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
                return e
            }(e) : t
        }

        function yR(e) {
            return (yR = Object.setPrototypeOf ? Object.getPrototypeOf : function(e) {
                return e.__proto__ || Object.getPrototypeOf(e)
            })(e)
        }

        function bR(e, t) {
            return (bR = Object.setPrototypeOf || function(e, t) {
                return e.__proto__ = t, e
            })(e, t)
        }

        function hR(e, t, n, r, o) {
            var a = {};
            return Object.keys(r).forEach(function(e) {
                a[e] = r[e]
            }), a.enumerable = !!a.enumerable, a.configurable = !!a.configurable, ("value" in a || a.initializer) && (a.writable = !0), a = n.slice().reverse().reduce(function(n, r) {
                return r(e, t, n) || n
            }, a), o && void 0 !== a.initializer && (a.value = a.initializer ? a.initializer.call(o) : void 0, a.initializer = void 0), void 0 === a.initializer && (Object.defineProperty(e, t, a), a = null), a
        }
        var dR = function() {};
        var mR = function(e) {
                return function(t) {
                    var n, r, i;
                    return i = r = function(n) {
                        function r(t) {
                            var n;
                            ! function(e, t) {
                                if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function")
                            }(this, r), (n = fR(this, yR(r).call(this, t))).state = {}, n._isMounted = !1, n._promises = {};
                            var o = e(n.props, {});
                            return n.state = Object.keys(o).reduce(function(e, t) {
                                return e[t] = {
                                    isMutating: !1,
                                    mutateError: null
                                }, e
                            }, {}), n._isMounted = !0, n
                        }
                        var i, s, c;
                        return function(e, t) {
                            if ("function" !== typeof t && null !== t) throw new TypeError("Super expression must either be null or a function");
                            e.prototype = Object.create(t && t.prototype, {
                                constructor: {
                                    value: e,
                                    writable: !0,
                                    configurable: !0
                                }
                            }), t && bR(e, t)
                        }(r, o.Component), i = r, (s = [{
                            key: "componentWillUnmount",
                            value: function() {
                                this._isMounted = !1, this.cancelMutations()
                            }
                        }, {
                            key: "cancelMutations",
                            value: function() {
                                Object.values(this._promises).forEach(function(e) {
                                    return e.cancel()
                                }), this._promises = {}
                            }
                        }, {
                            key: "mutateData",
                            value: function(t, n, r, o) {
                                var a = this;
                                if ("function" === typeof n) {
                                    var i = r;
                                    r = n, o = i
                                }
                                var s = e(this.props, n)[t];
                                this._setSafeState(t, {
                                    isMutating: !0,
                                    mutateError: null
                                }), null != this._promises[t] && this._promises[t].cancel(), this._promises[t] = this.context.store.dispatch(s).then(function() {
                                    return a._setSafeState(t, {
                                        isMutating: !1,
                                        mutateError: null
                                    }, r)
                                }).catch(function(e) {
                                    e.code === DOMException.ABORT_ERR ? (console.warn("Mutation for key '".concat(t, "' aborted")), a._setSafeState(t, {
                                        isMutating: !1,
                                        mutateError: null
                                    })) : a._isMounted && (console.error(e), a._setSafeState(t, {
                                        isMutating: !1,
                                        mutateError: e
                                    }, o))
                                })
                            }
                        }, {
                            key: "_setSafeState",
                            value: function(e, t) {
                                var n, r, o, a = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : dR;
                                if (this._isMounted) return this.setState((o = t, (r = e) in (n = {}) ? Object.defineProperty(n, r, {
                                    value: o,
                                    enumerable: !0,
                                    configurable: !0,
                                    writable: !0
                                }) : n[r] = o, n), a)
                            }
                        }, {
                            key: "render",
                            value: function() {
                                return a.a.createElement(t, lR({}, this.props, this.state, {
                                    mutateData: this.mutateData,
                                    cancelMutations: this.cancelMutations
                                }))
                            }
                        }]) && pR(i.prototype, s), c && pR(i, c), r
                    }(), r.displayName = "mutateData(".concat(t.displayName || t.name || "Unknown", ")"), r.contextTypes = {
                        store: He.a.object.isRequired
                    }, hR((n = i).prototype, "cancelMutations", [vt.a], Object.getOwnPropertyDescriptor(n.prototype, "cancelMutations"), n.prototype), hR(n.prototype, "mutateData", [vt.a], Object.getOwnPropertyDescriptor(n.prototype, "mutateData"), n.prototype), n
                }
            },
            gR = He.a.shape({
                mutateError: He.a.any,
                isMutating: He.a.bool.isRequired
            }),
            vR = n("./app/js/components/QuizPage/QuizContent.css"),
            _R = n.n(vR),
            OR = function(e) {
                var t = e.title,
                    n = e.children;
                return a.a.createElement("div", {
                    className: _R.a.root
                }, a.a.createElement($e.k, {
                    text: t,
                    className: _R.a.label
                }), n)
            };
        OR.propTypes = {
            children: He.a.node.isRequired,
            title: He.a.string.isRequired
        };
        var jR, wR, kR, ER = OR;

        function SR(e) {
            return (SR = "function" === typeof Symbol && "symbol" === typeof Symbol.iterator ? function(e) {
                return typeof e
            } : function(e) {
                return e && "function" === typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e
            })(e)
        }

        function xR(e, t) {
            for (var n = 0; n < t.length; n++) {
                var r = t[n];
                r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(e, r.key, r)
            }
        }

        function CR(e, t) {
            return !t || "object" !== SR(t) && "function" !== typeof t ? function(e) {
                if (void 0 === e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
                return e
            }(e) : t
        }

        function PR(e) {
            return (PR = Object.setPrototypeOf ? Object.getPrototypeOf : function(e) {
                return e.__proto__ || Object.getPrototypeOf(e)
            })(e)
        }

        function TR(e, t) {
            return (TR = Object.setPrototypeOf || function(e, t) {
                return e.__proto__ = t, e
            })(e, t)
        }
        var RR = parseFloat(wt.a.rightSidebarBreakpoint, 10),
            NR = Object(We.b)(function(e) {
                return {
                    alwaysCollapseRightSidebar: e.settings.alwaysCollapseRightSidebar,
                    activeSubsection: e.rightSidebar.activeSubsection
                }
            })(jR = Object(vt.d)(RR)((kR = wR = function(e) {
                function t() {
                    return function(e, t) {
                        if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function")
                    }(this, t), CR(this, PR(t).apply(this, arguments))
                }
                var n, r, i;
                return function(e, t) {
                    if ("function" !== typeof t && null !== t) throw new TypeError("Super expression must either be null or a function");
                    e.prototype = Object.create(t && t.prototype, {
                        constructor: {
                            value: e,
                            writable: !0,
                            configurable: !0
                        }
                    }), t && TR(e, t)
                }(t, o["Component"]), n = t, (r = [{
                    key: "render",
                    value: function() {
                        var e = this.props,
                            t = e.alwaysCollapseRightSidebar,
                            n = e.viewport,
                            r = e.regex,
                            o = e.flags,
                            i = e.delimiter,
                            s = e.flavor;
                        if (t || n.width < RR) {
                            var c = [{
                                tooltip: Object(Ke.a)("View Explanation"),
                                icon: "sitemap",
                                key: p
                            }, {
                                tooltip: Object(Ke.a)("View Regex Quick Reference"),
                                icon: "info-circled",
                                key: "QUICKREF"
                            }];
                            return a.a.createElement(eO, null, a.a.createElement(wO, {
                                subsections: c
                            }), this._renderActiveSubsection())
                        }
                        return a.a.createElement(rm, null, a.a.createElement(U_, {
                            title: Object(Ke.a)("Explanation"),
                            subsection: p,
                            resizable: !0
                        }, a.a.createElement(dg, {
                            regex: r,
                            flags: o,
                            delimiter: i,
                            flavor: s
                        })), a.a.createElement(U_, {
                            title: Object(Ke.a)("Quick Reference"),
                            subsection: "QUICKREF"
                        }, a.a.createElement(N_, null)))
                    }
                }, {
                    key: "_renderActiveSubsection",
                    value: function() {
                        var e = this.props,
                            t = e.activeSubsection,
                            n = e.regex,
                            r = e.flags,
                            o = e.delimiter,
                            i = e.flavor;
                        switch (t) {
                            case p:
                                return a.a.createElement(fO, {
                                    title: Object(Ke.a)("Explanation")
                                }, a.a.createElement(dg, {
                                    regex: n,
                                    flags: r,
                                    delimiter: o,
                                    flavor: i
                                }));
                            case "QUICKREF":
                                return a.a.createElement(fO, {
                                    title: Object(Ke.a)("Quick Reference")
                                }, a.a.createElement(N_, null));
                            default:
                                throw new Error("Unknown subsection '".concat(t, "'"))
                        }
                    }
                }]) && xR(n.prototype, r), i && xR(n, i), t
            }(), wR.propTypes = {
                viewport: He.a.object.isRequired,
                alwaysCollapseRightSidebar: He.a.bool.isRequired,
                delimiter: He.a.string.isRequired,
                flags: He.a.string.isRequired,
                regex: He.a.string.isRequired,
                flavor: He.a.string.isRequired,
                activeSubsection: He.a.oneOf(f).isRequired
            }, jR = kR)) || jR) || jR;

        function MR(e) {
            return (MR = "function" === typeof Symbol && "symbol" === typeof Symbol.iterator ? function(e) {
                return typeof e
            } : function(e) {
                return e && "function" === typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e
            })(e)
        }

        function AR(e, t) {
            for (var n = 0; n < t.length; n++) {
                var r = t[n];
                r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(e, r.key, r)
            }
        }

        function IR(e, t) {
            return !t || "object" !== MR(t) && "function" !== typeof t ? function(e) {
                if (void 0 === e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
                return e
            }(e) : t
        }

        function LR(e) {
            return (LR = Object.setPrototypeOf ? Object.getPrototypeOf : function(e) {
                return e.__proto__ || Object.getPrototypeOf(e)
            })(e)
        }

        function DR(e, t) {
            return (DR = Object.setPrototypeOf || function(e, t) {
                return e.__proto__ = t, e
            })(e, t)
        }
        var qR = function(e) {
            function t() {
                return function(e, t) {
                    if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function")
                }(this, t), IR(this, LR(t).apply(this, arguments))
            }
            var n, r, i;
            return function(e, t) {
                if ("function" !== typeof t && null !== t) throw new TypeError("Super expression must either be null or a function");
                e.prototype = Object.create(t && t.prototype, {
                    constructor: {
                        value: e,
                        writable: !0,
                        configurable: !0
                    }
                }), t && DR(e, t)
            }(t, o["Component"]), n = t, (r = [{
                key: "render",
                value: function() {
                    var e = this.props,
                        t = e.regex,
                        n = e.flavor,
                        r = e.flags,
                        i = e.delimiter,
                        s = e.children;
                    return a.a.createElement(o.Fragment, null, a.a.createElement(NR, {
                        regex: t,
                        flavor: n,
                        flags: r,
                        delimiter: i
                    }), s)
                }
            }]) && AR(n.prototype, r), i && AR(n, i), t
        }();
        qR.propTypes = {
            delimiter: He.a.string.isRequired,
            flags: He.a.string.isRequired,
            regex: He.a.string.isRequired,
            flavor: He.a.string.isRequired,
            children: He.a.element.isRequired
        };
        var FR, zR, GR, BR, UR = qR,
            HR = n("./node_modules/recharts/es6/component/ResponsiveContainer.js"),
            WR = n("./node_modules/recharts/es6/chart/BarChart.js"),
            VR = n("./node_modules/recharts/es6/cartesian/CartesianGrid.js"),
            KR = n("./node_modules/recharts/es6/cartesian/XAxis.js"),
            $R = n("./node_modules/recharts/es6/cartesian/YAxis.js"),
            YR = n("./node_modules/recharts/es6/component/Tooltip.js"),
            JR = n("./node_modules/recharts/es6/cartesian/Bar.js"),
            QR = n("./node_modules/recharts/es6/component/Cell.js"),
            XR = n("./app/js/components/QuizPage/QuizStatistics.css"),
            ZR = n.n(XR);

        function eN(e) {
            return (eN = "function" === typeof Symbol && "symbol" === typeof Symbol.iterator ? function(e) {
                return typeof e
            } : function(e) {
                return e && "function" === typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e
            })(e)
        }

        function tN(e, t) {
            for (var n = 0; n < t.length; n++) {
                var r = t[n];
                r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(e, r.key, r)
            }
        }

        function nN(e, t) {
            return !t || "object" !== eN(t) && "function" !== typeof t ? function(e) {
                if (void 0 === e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
                return e
            }(e) : t
        }

        function rN(e) {
            return (rN = Object.setPrototypeOf ? Object.getPrototypeOf : function(e) {
                return e.__proto__ || Object.getPrototypeOf(e)
            })(e)
        }

        function oN(e, t) {
            return (oN = Object.setPrototypeOf || function(e, t) {
                return e.__proto__ = t, e
            })(e, t)
        }
        var aN = Object(We.b)(function(e, t) {
                var n = e.quiz.allTasks[t.taskIdx - 1];
                return {
                    stats: n ? n.stats : null,
                    theme: e.settings.theme
                }
            })(FR = Object(vt.c)(function(e, t, n) {
                return {
                    statisticsFetch: (null == e.stats || n) && Object(ne.n)(e.taskIdx - 1, e.taskNumber)
                }
            })((BR = GR = function(e) {
                function t() {
                    return function(e, t) {
                        if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function")
                    }(this, t), nN(this, rN(t).apply(this, arguments))
                }
                var n, r, i;
                return function(e, t) {
                    if ("function" !== typeof t && null !== t) throw new TypeError("Super expression must either be null or a function");
                    e.prototype = Object.create(t && t.prototype, {
                        constructor: {
                            value: e,
                            writable: !0,
                            configurable: !0
                        }
                    }), t && oN(e, t)
                }(t, o["PureComponent"]), n = t, (r = [{
                    key: "componentDidUpdate",
                    value: function(e) {
                        e.bestSolution !== this.props.bestSolution && this.props.fetchData()
                    }
                }, {
                    key: "render",
                    value: function() {
                        var e = this.props,
                            t = e.statisticsFetch,
                            n = e.stats,
                            r = e.theme,
                            o = e.bestSolution;
                        if (t.isFetchingData) return a.a.createElement($e.r, {
                            size: Ot.d.TINY,
                            className: ZR.a.spinner
                        });
                        if (t.fetchError) return a.a.createElement($e.o, {
                            type: Ot.c.ERROR,
                            className: ZR.a.fetchError
                        }, Object(Ke.a)("Unable to fetch detailed task statistics. Please try again later."));
                        if (!n) return null;
                        var i = "dark" === r ? "rgba(255, 255, 255, 0.5)" : "rgba(0, 0, 0, 0.5)",
                            s = "dark" === r ? "rgba(255, 255, 255, 0.2)" : "rgba(0, 0, 0, 0.3)",
                            c = "dark" === r ? "#ad8a1d" : "#debc4e",
                            u = "dark" === r ? "#6b4c00" : "#a77e00";
                        return a.a.createElement(HR.a, {
                            width: "100%",
                            className: ZR.a.chartContainer
                        }, a.a.createElement(WR.a, {
                            height: 200,
                            data: n,
                            maxBarSize: 20
                        }, a.a.createElement(VR.a, {
                            strokeDasharray: "3 3",
                            stroke: s
                        }), a.a.createElement(KR.a, {
                            dataKey: "score",
                            label: {
                                value: Object(Ke.a)("RegEx Score (lower is better)"),
                                position: "insideBottom",
                                fill: s,
                                offset: 0,
                                height: 50
                            },
                            stroke: i
                        }), a.a.createElement($R.a, {
                            dataKey: "totalUsers",
                            label: {
                                value: Object(Ke.a)("User Distribution (%)"),
                                angle: 270,
                                position: "insideLeft",
                                fill: s,
                                style: {
                                    textAnchor: "middle"
                                }
                            },
                            stroke: i,
                            width: 40
                        }), a.a.createElement(YR.a, {
                            content: this._renderTooltip,
                            cursor: {
                                fill: "black",
                                fillOpacity: .2
                            }
                        }), a.a.createElement(JR.a, {
                            dataKey: "totalUsers",
                            name: Object(Ke.a)("Quiz Submission Score")
                        }, n.map(function(e) {
                            var t = e.score === o ? u : c;
                            return a.a.createElement(QR.a, {
                                key: "bar-score-".concat(e.score),
                                fill: t
                            })
                        }))))
                    }
                }, {
                    key: "_renderTooltip",
                    value: function(e) {
                        if (null == e.payload || null == e.payload[0]) return null;
                        var t = e.label,
                            n = (this.props.stats.find(function(e) {
                                return e.score === t
                            }) || {
                                betterThan: -1
                            }).betterThan;
                        return t === this.props.bestSolution ? a.a.createElement($e.s, {
                            text: "Your solution with a score of {1} is better than {2}% of all submissions.",
                            ph1: "<strong>".concat(t, "</strong>"),
                            ph2: "<strong>".concat(n, "</strong>"),
                            className: ZR.a.tooltip
                        }) : a.a.createElement($e.s, {
                            text: "A solution with a score of {1} is better than {2}% of all submissions.",
                            ph1: "<strong>".concat(t, "</strong>"),
                            ph2: "<strong>".concat(n, "</strong>"),
                            className: ZR.a.tooltip
                        })
                    }
                }]) && tN(n.prototype, r), i && tN(n, i), t
            }(), GR.propTypes = {
                taskNumber: He.a.number.isRequired,
                taskIdx: He.a.number.isRequired,
                bestSolution: He.a.number.isRequired,
                stats: He.a.arrayOf(He.a.shape({
                    totalUsers: He.a.number.isRequired,
                    score: He.a.number.isRequired
                })),
                statisticsFetch: He.a.object.isRequired,
                fetchData: He.a.func.isRequired,
                theme: He.a.string.isRequired
            }, function(e, t, n, r, o) {
                var a = {};
                Object.keys(r).forEach(function(e) {
                    a[e] = r[e]
                }), a.enumerable = !!a.enumerable, a.configurable = !!a.configurable, ("value" in a || a.initializer) && (a.writable = !0), a = n.slice().reverse().reduce(function(n, r) {
                    return r(e, t, n) || n
                }, a), o && void 0 !== a.initializer && (a.value = a.initializer ? a.initializer.call(o) : void 0, a.initializer = void 0), void 0 === a.initializer && (Object.defineProperty(e, t, a), a = null)
            }((zR = BR).prototype, "_renderTooltip", [vt.a], Object.getOwnPropertyDescriptor(zR.prototype, "_renderTooltip"), zR.prototype), FR = zR)) || FR) || FR,
            iN = n("./app/js/components/QuizPage/PreviousBestRegex.css"),
            sN = n.n(iN);

        function cN(e) {
            return (cN = "function" === typeof Symbol && "symbol" === typeof Symbol.iterator ? function(e) {
                return typeof e
            } : function(e) {
                return e && "function" === typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e
            })(e)
        }

        function uN(e, t) {
            for (var n = 0; n < t.length; n++) {
                var r = t[n];
                r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(e, r.key, r)
            }
        }

        function lN(e, t) {
            return !t || "object" !== cN(t) && "function" !== typeof t ? function(e) {
                if (void 0 === e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
                return e
            }(e) : t
        }

        function pN(e) {
            return (pN = Object.setPrototypeOf ? Object.getPrototypeOf : function(e) {
                return e.__proto__ || Object.getPrototypeOf(e)
            })(e)
        }

        function fN(e, t) {
            return (fN = Object.setPrototypeOf || function(e, t) {
                return e.__proto__ = t, e
            })(e, t)
        }
        var yN = function(e) {
            function t() {
                return function(e, t) {
                    if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function")
                }(this, t), lN(this, pN(t).apply(this, arguments))
            }
            var n, r, i;
            return function(e, t) {
                if ("function" !== typeof t && null !== t) throw new TypeError("Super expression must either be null or a function");
                e.prototype = Object.create(t && t.prototype, {
                    constructor: {
                        value: e,
                        writable: !0,
                        configurable: !0
                    }
                }), t && fN(e, t)
            }(t, o["PureComponent"]), n = t, (r = [{
                key: "render",
                value: function() {
                    var e = this.props,
                        t = e.regex,
                        n = e.flags,
                        r = e.delimiter,
                        o = e.substitution,
                        i = e.isSubstitutionTask,
                        s = e.shortestSolution,
                        c = e.className,
                        u = e.taskIdx,
                        l = e.taskNumber,
                        p = ("" + t + n + r + r + o).length,
                        f = i ? "s" + r + t + r + o + r + n : r + t + r + n;
                    return a.a.createElement("div", {
                        className: Je()(sN.a.foo, c)
                    }, a.a.createElement($e.k, {
                        text: Object(Ke.a)("Task Statistics")
                    }), a.a.createElement(Ff, null, a.a.createElement($e.s, {
                        text: "Your shortest solution thus far is {1} characters long. The overall shortest solution is {2} characters long.",
                        ph1: "<strong>".concat(p, "</strong>"),
                        ph2: "<strong>".concat(s, "</strong>")
                    }), a.a.createElement("div", {
                        className: sN.a.regex
                    }, f), a.a.createElement(aN, {
                        taskIdx: u,
                        taskNumber: l,
                        bestSolution: p
                    })))
                }
            }]) && uN(n.prototype, r), i && uN(n, i), t
        }();
        yN.propTypes = {
            taskNumber: He.a.number.isRequired,
            taskIdx: He.a.number.isRequired,
            delimiter: He.a.string.isRequired,
            flags: He.a.string.isRequired,
            regex: He.a.string.isRequired,
            substitution: He.a.string.isRequired,
            shortestSolution: He.a.number.isRequired,
            isSubstitutionTask: He.a.bool,
            className: He.a.string
        };
        var bN = yN,
            hN = He.a.shape({
                taskNumber: He.a.number.isRequired,
                title: He.a.string.isRequired,
                description: He.a.string.isRequired,
                taskType: He.a.string.isRequired,
                errorMessage: He.a.string,
                successMessage: He.a.string,
                totalTests: He.a.number,
                failingTestNumber: He.a.number,
                hasSolved: He.a.bool.isRequired,
                canSolve: He.a.bool.isRequired,
                shortestSolution: He.a.number
            }),
            dN = He.a.shape({
                regex: He.a.string.isRequired,
                flags: He.a.string.isRequired,
                delimiter: He.a.string.isRequired,
                substitution: He.a.string.isRequired
            }),
            mN = He.a.shape({
                regex: He.a.string,
                flags: He.a.string,
                delimiter: He.a.string,
                substitution: He.a.string
            });

        function gN(e) {
            return (gN = "function" === typeof Symbol && "symbol" === typeof Symbol.iterator ? function(e) {
                return typeof e
            } : function(e) {
                return e && "function" === typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e
            })(e)
        }

        function vN(e, t) {
            for (var n = 0; n < t.length; n++) {
                var r = t[n];
                r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(e, r.key, r)
            }
        }

        function _N(e, t) {
            return !t || "object" !== gN(t) && "function" !== typeof t ? function(e) {
                if (void 0 === e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
                return e
            }(e) : t
        }

        function ON(e) {
            return (ON = Object.setPrototypeOf ? Object.getPrototypeOf : function(e) {
                return e.__proto__ || Object.getPrototypeOf(e)
            })(e)
        }

        function jN(e, t) {
            return (jN = Object.setPrototypeOf || function(e, t) {
                return e.__proto__ = t, e
            })(e, t)
        }
        var wN = function(e) {
            function t() {
                return function(e, t) {
                    if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function")
                }(this, t), _N(this, ON(t).apply(this, arguments))
            }
            var n, r, i;
            return function(e, t) {
                if ("function" !== typeof t && null !== t) throw new TypeError("Super expression must either be null or a function");
                e.prototype = Object.create(t && t.prototype, {
                    constructor: {
                        value: e,
                        writable: !0,
                        configurable: !0
                    }
                }), t && jN(e, t)
            }(t, o["PureComponent"]), n = t, (r = [{
                key: "render",
                value: function() {
                    var e = this.props,
                        t = e.entry,
                        n = e.className,
                        r = t.regex,
                        o = t.flags,
                        i = t.delimiter,
                        s = t.substitution;
                    if ("" === r || null == r) return null;
                    var c = ("" + r + o + i + i + s).length;
                    return a.a.createElement($e.o, {
                        className: n
                    }, Object(Ke.a)("Current score: {1}", c))
                }
            }]) && vN(n.prototype, r), i && vN(n, i), t
        }();
        wN.propTypes = {
            entry: dN.isRequired,
            className: He.a.string
        };
        var kN = wN;
        var EN, SN, xN, CN, PN = function(e, t) {
                var n = [];
                return e.tokens.forEach(function(e) {
                    var r = null;
                    if (e.state.lowercase ? r = "lowercase" : e.state.uppercase && (r = "uppercase"), e.type === th.B || e.type === th.r || e.type === th.Z || e.type === th.u) n.push({
                        string: String.fromCodePoint(e.charCode),
                        modifier: r
                    });
                    else if (e.type === th.I || e.type === th.D) {
                        var o = e.reference;
                        /^\d+$/.test(e.reference) || (o = t.captureGroupMap[e.reference]), n.push({
                            groupNum: o,
                            modifier: r
                        })
                    } else e.type !== th.S && e.type !== th.p && n.push({
                        string: e.string,
                        modifier: r
                    })
                }), n
            },
            TN = n("./app/js/components/QuizPage/QuizPage.css"),
            RN = n.n(TN);

        function NN(e) {
            return (NN = "function" === typeof Symbol && "symbol" === typeof Symbol.iterator ? function(e) {
                return typeof e
            } : function(e) {
                return e && "function" === typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e
            })(e)
        }

        function MN(e, t) {
            for (var n = 0; n < t.length; n++) {
                var r = t[n];
                r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(e, r.key, r)
            }
        }

        function AN(e, t) {
            return !t || "object" !== NN(t) && "function" !== typeof t ? function(e) {
                if (void 0 === e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
                return e
            }(e) : t
        }

        function IN(e) {
            return (IN = Object.setPrototypeOf ? Object.getPrototypeOf : function(e) {
                return e.__proto__ || Object.getPrototypeOf(e)
            })(e)
        }

        function LN(e, t) {
            return (LN = Object.setPrototypeOf || function(e, t) {
                return e.__proto__ = t, e
            })(e, t)
        }

        function DN(e, t, n, r, o) {
            var a = {};
            return Object.keys(r).forEach(function(e) {
                a[e] = r[e]
            }), a.enumerable = !!a.enumerable, a.configurable = !!a.configurable, ("value" in a || a.initializer) && (a.writable = !0), a = n.slice().reverse().reduce(function(n, r) {
                return r(e, t, n) || n
            }, a), o && void 0 !== a.initializer && (a.value = a.initializer ? a.initializer.call(o) : void 0, a.initializer = void 0), void 0 === a.initializer && (Object.defineProperty(e, t, a), a = null), a
        }

        function qN(e, t) {
            if (null == e) return {};
            var n, r, o = function(e, t) {
                if (null == e) return {};
                var n, r, o = {},
                    a = Object.keys(e);
                for (r = 0; r < a.length; r++) n = a[r], t.indexOf(n) >= 0 || (o[n] = e[n]);
                return o
            }(e, t);
            if (Object.getOwnPropertySymbols) {
                var a = Object.getOwnPropertySymbols(e);
                for (r = 0; r < a.length; r++) n = a[r], t.indexOf(n) >= 0 || Object.prototype.propertyIsEnumerable.call(e, n) && (o[n] = e[n])
            }
            return o
        }
        var FN, zN, GN, BN, UN = Object(We.b)(function(e, t) {
            var n = e.quiz.allTasks[t.taskIdx - 1];
            if (null == n) return {
                task: null,
                latestEntry: {},
                bestEntry: {}
            };
            var r = n.latest,
                o = n.best;
            return {
                task: qN(n, ["latest", "best"]),
                latestEntry: r,
                bestEntry: o,
                totalTasks: e.quiz.allTasks.length
            }
        })(EN = mR(function(e, t) {
            return {
                quizMutation: e.task && Object(ne.Z)(e.task.taskNumber, t)
            }
        })((CN = xN = function(e) {
            function t(e) {
                var n;
                return function(e, t) {
                    if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function")
                }(this, t), (n = AN(this, IN(t).call(this, e)))._regexParser = new Se.a, n._substParser = new sR.a, n.onRegexInput = N.a.debounce(n.onRegexInput, Be.f), n.onSubstInput = N.a.debounce(n.onSubstInput, Be.f), n._submitEntry = N.a.debounce(n._submitEntry, 100), n
            }
            var n, r, i;
            return function(e, t) {
                if ("function" !== typeof t && null !== t) throw new TypeError("Super expression must either be null or a function");
                e.prototype = Object.create(t && t.prototype, {
                    constructor: {
                        value: e,
                        writable: !0,
                        configurable: !0
                    }
                }), t && LN(e, t)
            }(t, o["Component"]), n = t, (r = [{
                key: "componentWillUnmount",
                value: function() {
                    this.props.dispatch(Object(ne.z)(this.props.taskIdx)), this.onRegexInput.flush(), this.onSubstInput.flush()
                }
            }, {
                key: "_submitEntry",
                value: function() {
                    var e = this.props,
                        t = e.quizMutation,
                        n = e.mutateData,
                        r = e.latestEntry,
                        o = r.regex,
                        a = r.flags,
                        i = r.delimiter,
                        s = r.substitution;
                    t.isMutating || 0 === o.length || null != this._substParser.status || null != this._regexParser.status || n("quizMutation", {
                        regex: o,
                        flags: a,
                        delimiter: i,
                        substitution: s,
                        parsedSubstitution: PN(this._substParser, this._regexParser)
                    })
                }
            }, {
                key: "onFlagsChange",
                value: function(e) {
                    var t = Object(iR.b)(e, _.a.PCRE);
                    this.props.dispatch(Object(ne.eb)(this.props.taskIdx - 1, {
                        flags: t
                    }))
                }
            }, {
                key: "onDelimiterChange",
                value: function(e) {
                    this.props.dispatch(Object(ne.eb)(this.props.taskIdx - 1, {
                        delimiter: e
                    }))
                }
            }, {
                key: "onRegexInput",
                value: function(e) {
                    var t = this.props,
                        n = t.dispatch,
                        r = t.taskIdx;
                    e !== this.props.latestEntry.regex ? n(Object(ne.eb)(r - 1, {
                        regex: e
                    })) : this.forceUpdate()
                }
            }, {
                key: "onRegexPaste",
                value: function(e) {
                    var t = e.delimiter,
                        n = e.regex,
                        r = e.substText,
                        o = e.flags;
                    this.props.dispatch(Object(ne.eb)(this.props.taskIdx - 1, {
                        regex: n,
                        delimiter: t,
                        substitution: r,
                        flags: o
                    })), _t.a.emit("set:substString", r)
                }
            }, {
                key: "onSubstInput",
                value: function(e) {
                    var t = this.props,
                        n = t.dispatch,
                        r = t.taskIdx;
                    e != this.props.latestEntry.substitution ? n(Object(ne.eb)(r - 1, {
                        substitution: e
                    })) : this.forceUpdate()
                }
            }, {
                key: "onSubmitClick",
                value: function() {
                    this.onRegexInput.flush(), this.onSubstInput.flush(), this._submitEntry()
                }
            }, {
                key: "render",
                value: function() {
                    var e = this.props,
                        t = e.task,
                        n = e.quizMutation,
                        r = e.taskIdx,
                        o = e.latestEntry,
                        i = e.bestEntry;
                    if (null == t || !t.canSolve) return a.a.createElement(Ve.d, {
                        to: "/quiz"
                    });
                    var s = o.regex,
                        c = o.flags,
                        u = o.delimiter,
                        l = o.substitution,
                        p = i.regex,
                        f = i.flags,
                        y = i.delimiter,
                        b = i.substitution,
                        h = "".concat(Object(Ke.a)("Task {1}", r), ": ").concat(t.title);
                    t.isOptional && (h += " (".concat(Object(Ke.a)("optional"), ")"));
                    var d = "SUB" === t.taskType;
                    return a.a.createElement(UR, {
                        regex: s,
                        flavor: _.a.PCRE,
                        flags: c,
                        delimiter: u
                    }, a.a.createElement(ER, {
                        title: h
                    }, a.a.createElement(Ff, {
                        className: RN.a.quizContent
                    }, a.a.createElement(Si, {
                        source: t.description,
                        className: RN.a.markdownContainer
                    })), a.a.createElement("div", {
                        className: RN.a.regexArea
                    }, a.a.createElement($e.k, {
                        text: Object(Ke.a)("Regular Expression")
                    }), a.a.createElement(Nk, {
                        onRegexInput: this.onRegexInput,
                        onRegexPaste: this.onRegexPaste,
                        onFlagsChange: this.onFlagsChange,
                        onDelimiterChange: this.onDelimiterChange,
                        onEnterClick: this.onSubmitClick,
                        delimiter: u,
                        regex: s,
                        flags: c,
                        parser: this._regexParser,
                        flavor: _.a.PCRE
                    })), d && a.a.createElement("div", {
                        className: RN.a.substArea
                    }, a.a.createElement($e.k, {
                        text: Object(Ke.a)("Substitution")
                    }), a.a.createElement(cR.a, {
                        hasRegexError: !1,
                        flavor: _.a.PCRE,
                        substParser: this._substParser,
                        regexParser: this._regexParser,
                        regex: s,
                        flags: c,
                        substString: l,
                        onSubstInput: this.onSubstInput,
                        onEnterClick: this.onSubmitClick
                    })), a.a.createElement("div", {
                        className: RN.a.buttonArea
                    }, a.a.createElement(kN, {
                        className: RN.a.score,
                        entry: this.props.latestEntry
                    }), n.isMutating && a.a.createElement("div", {
                        className: RN.a.spinnerContainer
                    }, a.a.createElement($e.r, {
                        size: Ot.d.TINY,
                        className: RN.a.spinner
                    })), a.a.createElement($e.a, {
                        text: Object(Ke.a)("Submit"),
                        onClick: this.onSubmitClick,
                        disabled: n.isMutating || 0 === s.length || null != this._substParser.status || null != this._regexParser.status,
                        className: RN.a.button
                    })), a.a.createElement("div", {
                        className: RN.a.resultArea
                    }, a.a.createElement($e.k, {
                        text: Object(Ke.a)("Result")
                    }), a.a.createElement(Ff, null, this._renderAPIMessage())), null != p && t.hasSolved && a.a.createElement(bN, {
                        regex: p,
                        flags: f,
                        delimiter: y,
                        substitution: b,
                        isSubstitutionTask: d,
                        shortestSolution: t.shortestSolution,
                        className: RN.a.shortestEntry,
                        taskNumber: t.taskNumber,
                        taskIdx: r
                    })))
                }
            }, {
                key: "_renderAPIMessage",
                value: function() {
                    var e = this.props,
                        t = e.task,
                        n = e.quizMutation,
                        r = e.totalTasks,
                        i = e.taskIdx;
                    if (n.mutateError) return a.a.createElement($e.o, {
                        type: Ot.c.ERROR
                    }, Object(Ke.a)("There was an error querying the server, please try again later:"), " ", n.mutateError.message);
                    if (n.isMutating) return a.a.createElement($e.o, null, Object(Ke.a)("Checking your answer..."));
                    if (t.errorMessage) {
                        var s = "**Test ".concat(t.failingTestNumber, "/").concat(t.totalTests, ":** ");
                        return a.a.createElement(Si, {
                            source: s + t.errorMessage,
                            className: RN.a.error
                        })
                    }
                    return t.successMessage ? a.a.createElement(o.Fragment, null, a.a.createElement(Si, {
                        className: RN.a.markdownContainer,
                        source: t.successMessage
                    }), i + 1 < r && a.a.createElement($e.l, {
                        className: RN.a.nextLink,
                        to: "/quiz/".concat(i + 1)
                    }, Object(Ke.a)("Next question"), " \u2192")) : a.a.createElement($e.o, null, Object(Ke.a)("Enter your regex and hit submit to see the result."))
                }
            }]) && MN(n.prototype, r), i && MN(n, i), t
        }(), xN.propTypes = {
            dispatch: He.a.func.isRequired,
            taskIdx: He.a.number.isRequired,
            quizMutation: gR.isRequired,
            mutateData: He.a.func.isRequired,
            task: hN,
            bestEntry: mN.isRequired,
            latestEntry: dN.isRequired,
            totalTasks: He.a.number.isRequired
        }, DN((SN = CN).prototype, "_submitEntry", [vt.a], Object.getOwnPropertyDescriptor(SN.prototype, "_submitEntry"), SN.prototype), DN(SN.prototype, "onFlagsChange", [vt.a], Object.getOwnPropertyDescriptor(SN.prototype, "onFlagsChange"), SN.prototype), DN(SN.prototype, "onDelimiterChange", [vt.a], Object.getOwnPropertyDescriptor(SN.prototype, "onDelimiterChange"), SN.prototype), DN(SN.prototype, "onRegexInput", [vt.a], Object.getOwnPropertyDescriptor(SN.prototype, "onRegexInput"), SN.prototype), DN(SN.prototype, "onRegexPaste", [vt.a], Object.getOwnPropertyDescriptor(SN.prototype, "onRegexPaste"), SN.prototype), DN(SN.prototype, "onSubstInput", [vt.a], Object.getOwnPropertyDescriptor(SN.prototype, "onSubstInput"), SN.prototype), DN(SN.prototype, "onSubmitClick", [vt.a], Object.getOwnPropertyDescriptor(SN.prototype, "onSubmitClick"), SN.prototype), DN(SN.prototype, "_renderAPIMessage", [vt.a], Object.getOwnPropertyDescriptor(SN.prototype, "_renderAPIMessage"), SN.prototype), EN = SN)) || EN) || EN;

        function HN(e) {
            return (HN = "function" === typeof Symbol && "symbol" === typeof Symbol.iterator ? function(e) {
                return typeof e
            } : function(e) {
                return e && "function" === typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e
            })(e)
        }

        function WN() {
            return (WN = Object.assign || function(e) {
                for (var t = 1; t < arguments.length; t++) {
                    var n = arguments[t];
                    for (var r in n) Object.prototype.hasOwnProperty.call(n, r) && (e[r] = n[r])
                }
                return e
            }).apply(this, arguments)
        }

        function VN(e, t) {
            if (null == e) return {};
            var n, r, o = function(e, t) {
                if (null == e) return {};
                var n, r, o = {},
                    a = Object.keys(e);
                for (r = 0; r < a.length; r++) n = a[r], t.indexOf(n) >= 0 || (o[n] = e[n]);
                return o
            }(e, t);
            if (Object.getOwnPropertySymbols) {
                var a = Object.getOwnPropertySymbols(e);
                for (r = 0; r < a.length; r++) n = a[r], t.indexOf(n) >= 0 || Object.prototype.propertyIsEnumerable.call(e, n) && (o[n] = e[n])
            }
            return o
        }

        function KN(e, t) {
            for (var n = 0; n < t.length; n++) {
                var r = t[n];
                r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(e, r.key, r)
            }
        }

        function $N(e, t) {
            return !t || "object" !== HN(t) && "function" !== typeof t ? function(e) {
                if (void 0 === e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
                return e
            }(e) : t
        }

        function YN(e) {
            return (YN = Object.setPrototypeOf ? Object.getPrototypeOf : function(e) {
                return e.__proto__ || Object.getPrototypeOf(e)
            })(e)
        }

        function JN(e, t) {
            return (JN = Object.setPrototypeOf || function(e, t) {
                return e.__proto__ = t, e
            })(e, t)
        }

        function QN(e, t, n, r, o) {
            var a = {};
            return Object.keys(r).forEach(function(e) {
                a[e] = r[e]
            }), a.enumerable = !!a.enumerable, a.configurable = !!a.configurable, ("value" in a || a.initializer) && (a.writable = !0), a = n.slice().reverse().reduce(function(n, r) {
                return r(e, t, n) || n
            }, a), o && void 0 !== a.initializer && (a.value = a.initializer ? a.initializer.call(o) : void 0, a.initializer = void 0), void 0 === a.initializer && (Object.defineProperty(e, t, a), a = null), a
        }
        var XN, ZN, eM, tM = ["DrRegex", "Andreas Zetterlund", "Timvde", "Zarthus"],
            nM = Object(We.b)(function(e) {
                return {
                    userId: e.general.userId
                }
            })(FN = Object(vt.c)(function(e) {
                return {
                    allTasksFetch: e.userId && Object(ne.o)()
                }
            })((BN = GN = function(e) {
                function t() {
                    return function(e, t) {
                        if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function")
                    }(this, t), $N(this, YN(t).apply(this, arguments))
                }
                var n, r, i;
                return function(e, t) {
                    if ("function" !== typeof t && null !== t) throw new TypeError("Super expression must either be null or a function");
                    e.prototype = Object.create(t && t.prototype, {
                        constructor: {
                            value: e,
                            writable: !0,
                            configurable: !0
                        }
                    }), t && JN(e, t)
                }(t, o["Component"]), n = t, (r = [{
                    key: "componentDidMount",
                    value: function() {
                        this.props.dispatch(Object(ne.t)(p)), _t.a.on("quiz:taskFinish", this.props.fetchData)
                    }
                }, {
                    key: "componentWillUnmount",
                    value: function() {
                        _t.a.off("quiz:taskFinish", this.props.fetchData)
                    }
                }, {
                    key: "onTaskComplete",
                    value: function() {
                        this.props.fetchData()
                    }
                }, {
                    key: "render",
                    value: function() {
                        var e = this.props,
                            t = e.userId,
                            n = e.allTasksFetch;
                        return null == t ? a.a.createElement(ER, {
                            title: Object(Ke.a)("Regex Quiz")
                        }, a.a.createElement(Ff, {
                            className: RN.a.loginInfo
                        }, Object(Ke.a)("You need to be signed in to participate in the regex quiz. You can do so by clicking the button in the left sidebar."))) : a.a.createElement(o.Fragment, null, a.a.createElement(KS, {
                            isVisible: n.isFetchingData
                        }), a.a.createElement("div", {
                            className: Je()(RN.a.fetchWrapper, n.isFetchingData && RN.a.isFetchingData)
                        }, this._renderContent()))
                    }
                }, {
                    key: "_renderContent",
                    value: function() {
                        var e = this.props,
                            t = e.match;
                        return e.allTasksFetch.fetchError ? a.a.createElement(ER, {
                            title: Object(Ke.a)("Regex Quiz")
                        }, a.a.createElement(Ff, {
                            className: RN.a.loginInfo
                        }, a.a.createElement($e.o, {
                            type: Ot.c.ERROR
                        }, Object(Ke.a)("There was an error fetching the quiz data. Please try again later.")))) : a.a.createElement(Ve.f, null, a.a.createElement(Ve.e, {
                            exact: !0,
                            strict: !0,
                            path: "".concat(t.path, "/:taskIdx([1-9]\\d*)"),
                            render: function(e) {
                                var t = e.match,
                                    n = VN(e, ["match"]);
                                return a.a.createElement(UN, WN({}, n, {
                                    taskIdx: parseInt(t.params.taskIdx, 10) || 1,
                                    key: "quiz-task-".concat(t.params.taskIdx)
                                }))
                            }
                        }), a.a.createElement(Ve.e, {
                            path: "/quiz",
                            exact: !0,
                            strict: !0,
                            render: this._renderIntro
                        }), a.a.createElement(Ve.d, {
                            to: "/quiz"
                        }))
                    }
                }, {
                    key: "_renderIntro",
                    value: function() {
                        return a.a.createElement(ER, {
                            title: Object(Ke.a)("Regex Quiz")
                        }, a.a.createElement(Ff, {
                            className: RN.a.loginInfo
                        }, Object(Ke.a)("Welcome to the RegEx101 regex quiz."), a.a.createElement("div", {
                            className: RN.a.introSpace
                        }, Object(Ke.a)("This quiz used to be featured on this website many years ago, but was abandoned due to the vast amount of work to keep it updated. I have finally found the time to resurrect it, and ported it to the new website. It is based on the original quiz created by msmo many, many, years ago."), " ", Object(Ke.a)("My rendition of it is incomplete, and there are many improvements to be made. If you do have any feedback, please post it in the github issues and I will take a look at it.")), a.a.createElement("div", {
                            className: RN.a.introSpace
                        }, Object(Ke.a)("The goal is to provide a fun way to learn how to use regular expressions with real life tasks, and at the same time try to guide you to learn useful constructs and how the internals of the regex engine works."), " ", Object(Ke.a)("The quiz will utilize the PCRE regex engine, but many of the skills you learn will be transferable to other flavors."), " ", Object(Ke.a)("The tasks will be unlocked one by one. When you finish task 1, task 2 will be unlocked, and so on."), " ", Object(Ke.a)("The tasks will get progressively harder, and you will receive less and less hand-holding the further you progress."), " ", Object(Ke.a)("It might be a good idea to open another tab to fiddle with the expressions, and utilize the very powerful unit test feature located in the regex editor.")), a.a.createElement("div", {
                            className: RN.a.introSpace
                        }, a.a.createElement("strong", null, Object(Ke.a)("Please note that the quiz is still under development and is to be considered in BETA. It is subject to change, but I'm trying to avoid as many drastic changes as possible. I apologize for any inconvenience this may cause you."))), a.a.createElement("div", {
                            className: RN.a.introSpace
                        }, Object(Ke.a)("A special thanks goes out to the following individuals who helped me with the quiz questions:"), a.a.createElement("ul", {
                            className: RN.a.creditList
                        }, tM.map(function(e) {
                            return a.a.createElement("li", {
                                key: "credit-quiz-".concat(e)
                            }, e)
                        }))), a.a.createElement("div", {
                            className: RN.a.introSpace
                        }, Object(Ke.a)("Enjoy and I hope you learn something!"))))
                    }
                }]) && KN(n.prototype, r), i && KN(n, i), t
            }(), GN.propTypes = {
                dispatch: He.a.func.isRequired,
                userId: He.a.number,
                match: He.a.object.isRequired,
                allTasksFetch: He.a.object.isRequired,
                fetchData: He.a.func.isRequired
            }, QN((zN = BN).prototype, "onTaskComplete", [vt.a], Object.getOwnPropertyDescriptor(zN.prototype, "onTaskComplete"), zN.prototype), QN(zN.prototype, "_renderContent", [vt.a], Object.getOwnPropertyDescriptor(zN.prototype, "_renderContent"), zN.prototype), QN(zN.prototype, "_renderIntro", [vt.a], Object.getOwnPropertyDescriptor(zN.prototype, "_renderIntro"), zN.prototype), FN = zN)) || FN) || FN;

        function rM(e) {
            return (rM = "function" === typeof Symbol && "symbol" === typeof Symbol.iterator ? function(e) {
                return typeof e
            } : function(e) {
                return e && "function" === typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e
            })(e)
        }

        function oM(e, t) {
            for (var n = 0; n < t.length; n++) {
                var r = t[n];
                r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(e, r.key, r)
            }
        }

        function aM(e, t) {
            return !t || "object" !== rM(t) && "function" !== typeof t ? function(e) {
                if (void 0 === e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
                return e
            }(e) : t
        }

        function iM(e) {
            return (iM = Object.setPrototypeOf ? Object.getPrototypeOf : function(e) {
                return e.__proto__ || Object.getPrototypeOf(e)
            })(e)
        }

        function sM(e, t) {
            return (sM = Object.setPrototypeOf || function(e, t) {
                return e.__proto__ = t, e
            })(e, t)
        }
        var cM, uM, lM, pM, fM = Object(We.b)(function(e) {
                return {
                    regexVersions: e.regexEditor.regexVersions
                }
            })(XN = Object(vt.c)(function(e, t) {
                return {
                    regexVersionsFetch: t && e.match.params.permalinkFragment && Object(ne.m)(e.match.params.permalinkFragment)
                }
            })((eM = ZN = function(e) {
                function t() {
                    return function(e, t) {
                        if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function")
                    }(this, t), aM(this, iM(t).apply(this, arguments))
                }
                var n, r, i;
                return function(e, t) {
                    if ("function" !== typeof t && null !== t) throw new TypeError("Super expression must either be null or a function");
                    e.prototype = Object.create(t && t.prototype, {
                        constructor: {
                            value: e,
                            writable: !0,
                            configurable: !0
                        }
                    }), t && sM(e, t)
                }(t, o["PureComponent"]), n = t, (r = [{
                    key: "render",
                    value: function() {
                        var e = this.props,
                            t = e.regexVersionsFetch,
                            n = e.regexVersions,
                            r = e.match;
                        return t.isFetchinData ? null : t.fetchError ? a.a.createElement(Ve.d, {
                            to: "/"
                        }) : a.a.createElement(Ve.d, {
                            to: "/r/".concat(r.params.permalinkFragment, "/").concat(n)
                        })
                    }
                }]) && oM(n.prototype, r), i && oM(n, i), t
            }(), ZN.propTypes = {
                match: He.a.object.isRequired,
                regexVersionsFetch: He.a.object.isRequired,
                regexVersions: He.a.number.isRequired
            }, XN = eM)) || XN) || XN,
            yM = n("./app/js/containers/MainContainer.css"),
            bM = n.n(yM);
        n("./app/css/reset.css"), n("./app/font/font.css"), n("./app/css/RegexApp.css");

        function hM(e) {
            return (hM = "function" === typeof Symbol && "symbol" === typeof Symbol.iterator ? function(e) {
                return typeof e
            } : function(e) {
                return e && "function" === typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e
            })(e)
        }

        function dM(e, t) {
            for (var n = 0; n < t.length; n++) {
                var r = t[n];
                r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(e, r.key, r)
            }
        }

        function mM(e, t) {
            return !t || "object" !== hM(t) && "function" !== typeof t ? function(e) {
                if (void 0 === e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
                return e
            }(e) : t
        }

        function gM(e) {
            return (gM = Object.setPrototypeOf ? Object.getPrototypeOf : function(e) {
                return e.__proto__ || Object.getPrototypeOf(e)
            })(e)
        }

        function vM(e, t) {
            return (vM = Object.setPrototypeOf || function(e, t) {
                return e.__proto__ = t, e
            })(e, t)
        }
        var _M = (cM = Object(We.b)(function(e) {
            return {
                alwaysCollapseLeftSidebar: e.settings.alwaysCollapseLeftSidebar,
                alwaysCollapseRightSidebar: e.settings.alwaysCollapseRightSidebar,
                hasUnsavedData: e.regexEditor.hasUnsavedData,
                showWarningUnsavedProgress: e.settings.showWarningUnsavedProgress
            }
        }), Object(vt.f)(uM = cM((pM = lM = function(e) {
            function t() {
                return function(e, t) {
                    if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function")
                }(this, t), mM(this, gM(t).apply(this, arguments))
            }
            var n, r, i;
            return function(e, t) {
                if ("function" !== typeof t && null !== t) throw new TypeError("Super expression must either be null or a function");
                e.prototype = Object.create(t && t.prototype, {
                    constructor: {
                        value: e,
                        writable: !0,
                        configurable: !0
                    }
                }), t && vM(e, t)
            }(t, o["Component"]), n = t, (r = [{
                key: "componentDidMount",
                value: function() {
                    var e = this;
                    window.requestAnimationFrame(function() {
                        return _t.a.emit("loading:finish")
                    }), window.onbeforeunload = function(t) {
                        var n = e.props,
                            r = n.showWarningUnsavedProgress,
                            o = n.hasUnsavedData;
                        if (r && o) {
                            var a = Object(Ke.a)("You have made changes since you last saved, leaving the website will result in a permanent loss of the data.");
                            return t.returnValue = a, a
                        }
                    }
                }
            }, {
                key: "render",
                value: function() {
                    var e = this.props,
                        t = e.alwaysCollapseLeftSidebar,
                        n = e.alwaysCollapseRightSidebar,
                        r = e.location;
                    return a.a.createElement("div", {
                        className: bM.a.root
                    }, a.a.createElement(Ht, {
                        alwaysCollapseLeftSidebar: t,
                        alwaysCollapseRightSidebar: n,
                        location: r
                    }), a.a.createElement(mf, {
                        alwaysCollapseLeftSidebar: t,
                        location: r
                    }), a.a.createElement("div", {
                        className: Je()(bM.a.contentArea, t && bM.a.alwaysCollapseLeftSidebar)
                    }, a.a.createElement(Ve.f, null, a.a.createElement(Ve.e, {
                        path: "/library/:libraryId?",
                        component: UC
                    }), a.a.createElement(Ve.e, {
                        path: "/settings",
                        component: mP,
                        exact: !0
                    }), a.a.createElement(Ve.e, {
                        path: "/account",
                        component: aR
                    }), a.a.createElement(Ve.e, {
                        path: "/quiz",
                        component: nM
                    }), a.a.createElement(Ve.e, {
                        path: "/r/:permalinkFragment(\\w+)/:version(\\d+)",
                        component: LS
                    }), a.a.createElement(Ve.e, {
                        path: "/r/:permalinkFragment(\\w+)/latest",
                        component: fM
                    }), a.a.createElement(Ve.e, {
                        path: "/r/:permalinkFragment(\\w+)",
                        render: function(e) {
                            var t = e.match;
                            return a.a.createElement(Ve.d, {
                                to: "/r/".concat(t.params.permalinkFragment, "/1")
                            })
                        }
                    }), a.a.createElement(Ve.e, {
                        path: "/",
                        component: LS
                    }))), a.a.createElement(rn, null), a.a.createElement($e.h, null), "yes" === Object({
                        PORT: 8500,
                        NODE_ENV: "production",
                        VERSION: "3.26.6"
                    }).BETA && a.a.createElement(Ef, null))
                }
            }]) && dM(n.prototype, r), i && dM(n, i), t
        }(), lM.propTypes = {
            alwaysCollapseLeftSidebar: He.a.bool.isRequired,
            alwaysCollapseRightSidebar: He.a.bool.isRequired,
            hasUnsavedData: He.a.bool.isRequired,
            location: He.a.object.isRequired,
            showWarningUnsavedProgress: He.a.bool.isRequired
        }, uM = pM)) || uM) || uM);

        function OM(e) {
            return (OM = "function" === typeof Symbol && "symbol" === typeof Symbol.iterator ? function(e) {
                return typeof e
            } : function(e) {
                return e && "function" === typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e
            })(e)
        }

        function jM(e, t) {
            for (var n = 0; n < t.length; n++) {
                var r = t[n];
                r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(e, r.key, r)
            }
        }

        function wM(e, t) {
            return !t || "object" !== OM(t) && "function" !== typeof t ? function(e) {
                if (void 0 === e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
                return e
            }(e) : t
        }

        function kM(e) {
            return (kM = Object.setPrototypeOf ? Object.getPrototypeOf : function(e) {
                return e.__proto__ || Object.getPrototypeOf(e)
            })(e)
        }

        function EM(e, t) {
            return (EM = Object.setPrototypeOf || function(e, t) {
                return e.__proto__ = t, e
            })(e, t)
        }
        var SM = function(e) {
            function t() {
                return function(e, t) {
                    if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function")
                }(this, t), wM(this, kM(t).apply(this, arguments))
            }
            var n, r, i;
            return function(e, t) {
                if ("function" !== typeof t && null !== t) throw new TypeError("Super expression must either be null or a function");
                e.prototype = Object.create(t && t.prototype, {
                    constructor: {
                        value: e,
                        writable: !0,
                        configurable: !0
                    }
                }), t && EM(e, t)
            }(t, o["Component"]), n = t, (r = [{
                key: "componentDidMount",
                value: function() {
                    document.body.className = this.props.store.getState().settings.theme
                }
            }, {
                key: "render",
                value: function() {
                    try {
                        var e = document.createElement("div");
                        if (!("Worker" in window) || !("getBoundingClientRect" in e) || !("getClientRects" in e) || !("getSelection" in window) || !("bind" in Function.prototype)) return a.a.createElement(gt, null)
                    } catch (t) {
                        return a.a.createElement(gt, null)
                    }
                    return a.a.createElement(We.a, {
                        store: this.props.store
                    }, a.a.createElement(Ve.a, null, a.a.createElement(_M, null)))
                }
            }]) && jM(n.prototype, r), i && jM(n, i), t
        }();
        SM.propTypes = {
            store: He.a.object
        };
        var xM = SM;
        n.d(t, "reRenderApp", function() {
            return NM
        });
        var CM, PM = document.querySelector(Be.d),
            TM = null;

        function RM(e) {
            TM || (TM = e), PM.innerHTML = "", Object(i.render)(a.a.createElement(xM, {
                store: e
            }), PM)
        }

        function NM() {
            Object(i.unmountComponentAtNode)(PM), RM(TM)
        }
        window.addEventListener("load", CM = function() {
            window.removeEventListener("load", CM), Ge().then(RM)
        })
    },
    "./app/polyfills.js": function(e, t, n) {
        "use strict";
        n.r(t);
        var r = n("./node_modules/whatwg-fetch/fetch.js");
        n("./node_modules/abortcontroller-polyfill/dist/abortcontroller-polyfill-only.js");

        function o(e) {
            if (e.status >= 200 && e.status < 300) return e;
            var t = new Error(e.statusText);
            throw t.response = e, t
        }

        function a(e, t, n) {
            return t in e ? Object.defineProperty(e, t, {
                value: n,
                enumerable: !0,
                configurable: !0,
                writable: !0
            }) : e[t] = n, e
        }
        var i = "signal" in new Request("") ? window.fetch : r.a;
        window.fetch = function(e) {
            var t = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : {},
                n = new AbortController,
                r = n.signal,
                s = n.abort.bind(n);
            return function e(t) {
                if (t instanceof Promise) {
                    var n = t;
                    n.then = function(t, n) {
                        var r = Object.getPrototypeOf(this).then.call(this, t, n);
                        return e(r)
                    }, n.cancel = s
                }
                return t
            }(i(e, function(e) {
                for (var t = 1; t < arguments.length; t++) {
                    var n = null != arguments[t] ? arguments[t] : {},
                        r = Object.keys(n);
                    "function" === typeof Object.getOwnPropertySymbols && (r = r.concat(Object.getOwnPropertySymbols(n).filter(function(e) {
                        return Object.getOwnPropertyDescriptor(n, e).enumerable
                    }))), r.forEach(function(t) {
                        a(e, t, n[t])
                    })
                }
                return e
            }({
                signal: r
            }, t))).then(o)
        }, "undefined" === typeof Promise && n("./node_modules/es6-promise/dist/es6-promise.js").polyfill(), n("./node_modules/core-js/fn/string/from-code-point.js"), n("./node_modules/core-js/fn/string/repeat.js"), n("./node_modules/core-js/fn/string/trim.js"), n("./node_modules/core-js/fn/object/assign.js"), n("./node_modules/core-js/fn/object/values.js"), n("./node_modules/core-js/fn/array/includes.js"), n("./node_modules/core-js/fn/array/find.js"), n("./node_modules/core-js/fn/array/fill.js"), n("./node_modules/core-js/fn/array/find-index.js")
    },
    0: function(e, t, n) {
        n("./app/polyfills.js"), e.exports = n("./app/main.js")
    },
    1: function(e, t) {}
});